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.4.tar.gz
(3.7 kB
view hashes)
Built Distributions
Close
Hashes for reformer-0.0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 660aea3e09cc8b66a39fc68b74e22e175704885512c5bcbe41c69d6542416b3f |
|
MD5 | c5f392724931f16cd9c1a20705950bda |
|
BLAKE2b-256 | f2e7aa491cca79ca8d462db545eba748e68cb6454d65165f2c2151d42b39c444 |