Jaymon / pout

Python pretty print on steroids
MIT License
29 stars 0 forks source link

Only print the object once isn't really working right #96

Open Jaymon opened 5 months ago

Jaymon commented 5 months ago

Easiest way to see this is to pout prom's orm classes:

from prom import Orm

pout.v(Orm.orm_classes)

It will result in output something like this:

Orm.orm_classes = Orms (3) instance at 0x104d59da0
    [
        0: Foo class at 0x15d9749c0
            <
                Class Properties (17):
                    _created = <AutoDatetime instance at 0x104cf8f40>
                    _id = <AutoIncrement instance at 0x104cf8f10>
                    _updated = <AutoDatetime instance at 0x104cf8f70>
                    connection_name = <str (0) instance at 0x1026d8030>
                    field_names = <property instance at 0x104d5b150>
                    fields = <property instance at 0x104d5b1a0>
                    interface = <classproperty instance at 0x104d7a920>
                    iterator_class = <Iterator class at 0x15d946120>
                    model_name = <classproperty instance at 0x104d79180>
                    models_name = <classproperty instance at 0x104d798a0>
                    modified_field_names = <property instance at 0x104d5b1f0>
                    modified_fields = <property instance at 0x104d5b240>
                    orm_classes = <Orms (3) instance at 0x104d59da0>
                    query = <classproperty instance at 0x104d7a980>
                    query_class = <Query class at 0x15d94d5a0>
                    schema = <classproperty instance at 0x104d7a860>
                    table_name = <classproperty instance at 0x104d79240>

            >,
        1: <Bar class at 0x15d9741d0>,
        2: <Che class at 0x15d973e20>
    ]
(filepath.py:NNN)

Notice Foo is printed out but Bar and Che are not. I think that's because they were "seen" when output for Foo.orm_classes was generated but I'm not sure. I would need to really dig into it which I'm not going to do right now.

This needs to be fixed or the whole endeavor just needs to be abandoned. I'm not sure it's been as useful as I had hoped and it's been a buggy mess from the beginning.