The tool for creating notes
Project description
Simple and beautiful library for data formatting/convert/serialize
pip install reformer
How to use
To define schema you need to create Reformer base class. The main abstraction of the reformer is a link. It represent access to the target object. You can manipulate fields as you would do it with a real object, except a few operations that have alias in link object. This methods are: iter_, in_, contains_, to_, choice_, call_:
from reformer import Reformer, link class Schema(Reformer): fullname = link.name.replace('_', '-') + ' ' + link.surname admin = link.username.in_(['admin', 'root']) welcome = link.username.choice_( {'admin': 'Hi bro', 'root': 'God?'}, default='who are you?' ) target = { 'name': 'John', 'surname': 'Black', 'username': 'admin', } print(Schema.transform(target)) # OrderedDict([('fullname', 'John Black'), ('admin', True), ('welcome', 'Hi bro')])
item - another child abstraction as link, but for item of iterated object:
from reformer import Reformer, link, item class Schema(Reformer): posts_titles = link.posts.iter_([item.title]) class Author: @property def posts(self): return [ {'title': 'New', 'id': 10}, {'title': 'My first post', 'id': 11}, ] print(Schema.transform(Author())) # OrderedDict([('posts_titles', ['New', 'My first post'])])
FUTURE
errors
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
reformer-0.0.5.tar.gz
(3.7 kB
view hashes)