Workspace with chained loadersΒΆ
>>> from woger import Workspace, BasePathStructure, BaseData
>>>
>>> class PathStructure(BasePathStructure):
... json = 'json'
... xml = 'xml'
>>>
>>> def load_json(data):
... return '{}'
>>>
>>> def convert_to_xml(data):
... return (
... data.json
... .replace('{', '<data>')
... .replace('}', '</data>')
... )
>>>
>>> class Data(BaseData):
... json = load_json
... xml = convert_to_xml
>>>
>>> ws = Workspace.construct('root', PathStructure, Data)
>>> print(ws.data.xml)
<data></data>