Skip to content

View data by method #13

Open
Open
@joonas-yoon

Description

@joonas-yoon

Looking like as following:

>>> from json_as_db.formatter import TableFormatter, TreeFormatter
>>> db.view(TableFormatter())
age  grouped  ...  job                name
32   True     ...  Camera operator    Layne
17   False    ...  Flying instructor  Somerled
9    True     ...  Inventor           Joon-Ho
...  ...      ...  ...                ...
23   None     ...  Publican           Melanie
54   True     ...  Racing driver      Eike
41   None     ...  Barrister          Tanja


[100 items, 9 keys]

>>> db.view(TreeFormatter(key='short', indent=2)) # key: literal['full', 'short']
'2xtoAg':
|- age: 32
|- grouped: True
|- ...
|- job: Camera operator
|- name: Layne
'D8A2Wy':
|- age: 17
|- grouped: False
|- ...
|- job: Flying instructor
|- name: Somerled
...

consistent setting up when initialize

>>> from json_as_db import Database
>>> from json_as_db.formatter import TableFormatter, TreeFormatter

>>> formatter = TreeFormatter(...)
>>> db = Database(formatter=formatter)
>>> db = Database.load('path/file.json', formatter=formatter) # also this should be supported
>>> db.view() # Now it is optional

so anybody can extend and use their own formmating to represent database.

>>> from json_as_db.formatter import Formatter
>>> class MyFormatter(Formatter):
>>>     pass
>>> ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions