MorfDict is a dict like object, which convers data on the fly.
Project description
MorfDict
MorfDict is a dict like object, which convers data late on the fly.
>> from morfdict import MorfDict >> data = MorfDict() >> data['first'] = 'my data' >> data['first'] 'my data' >> data.set_morf('first', lambda obj, value: '*' + value + '*') >> data['first'] '*my data*'
If you want to make your own default morf method, just ovveride _default_morf method.
>> class MyMorf(MorfDict): >> def _default_morf(self, obj, value): >> return '*' + value + '*'
StringDict class
StringDict is MorfDict whith default interpolation for itself.
>> from morfdict import StringDict >> data = StringDict() >> data['first'] = 'one' >> data['second'] = '%(first)s two' >> data['second'] 'one two'
PathDict class
PathDict is designed for storing paths.
>> from morfdict import PathDict >> paths = PathDict({'base' : '/tmp'}) >> paths['home'] = ['%(base)s', 'home', 'myname'] >> paths['home'] '/tmp/home/myname'
Or you can make this:
>> from morfdict import PathDict >> paths = PathDict({'base' : '/tmp'}) >> paths.set_path('main', 'base', 'home') >> paths.set_path('home', 'main', 'myname') >> paths['home'] '/tmp/home/myname'
Factory class
If we want to use ‘modulename.settings’ where ‘modulename’ is our main module and ‘settings’ is our settins module.
>> from morfdict import Factory >> factory = Factory('modulename', 'settings') >> settings, paths = factory.make_settings()
It will read the settings from modulename/settings/default.py. This file should looks like this:
>> def make_settings(settings, paths): >> settings['name'] = 'value'
If we want to add some additional files for settings, like “local.py”, we can do this:
>> settings, paths = factory.make_settings(additional_modules=[('local', False)])
This is the default behavior. The bool means “raise error on missing module”.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file MorfDict-0.4.7.tar.gz
.
File metadata
- Download URL: MorfDict-0.4.7.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70ffb419e6b615fcebce45b6783ef4272a5eb88818ebbeda7dd18e3eae1e4199 |
|
MD5 | 0071c4b5fea47a218b0300c9fd0459fc |
|
BLAKE2b-256 | 7e77d606e30e0b4ba143530ace8607e8a7dbf6cd2f7b84c95dd0be1c6ac2a2ac |
File details
Details for the file MorfDict-0.4.7-py3-none-any.whl
.
File metadata
- Download URL: MorfDict-0.4.7-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fd827da87a2577402dc87b87c64a39d54f02418103380b4b098bb80cb75bc84 |
|
MD5 | 02d31c1554a8b6f9126a45a6b993cd9b |
|
BLAKE2b-256 | 171db1802fd925a11b2f26661d748305006e94b5e0e315b0cdf8b8944cf3bb79 |