Enginering useful library
Project description
Open Kage's useful tools and class to public. (Long time used and upgraded) But, this is develope version. So, suddenly it will be big change when I got some more good idea. I re-groupped to library. and change name to klib
Custom Dictionary Class
Convert Dictionary to Object style Dictionary
Contents
- Create tree type items
- Added New commands
- Put() : Put value at a item
- Get() : Get value of item
- Del() : Delete item
- Update() : Update value at item
- Print() : Print dictionary
- Diff() : Compare two dictionary
- Check() : Check put the value is same as the item(key)'s value
- List() : Return list of keys value
- Proper() : Show/Set/Update property at the item.
- Find() : Find data in the dictionary
- Load() : Load saved data from file
- Save() : dictionary save to file
- Sort() : Sort dictionary
- FirstKey(): Get first Key
- Added property at each key
- Initialize dictionary
from DICT import DICT
root=DICT()
or
import DICT
root=DICT.DICT()
from DICT import DICT
>>> test={
'a':123,
'b':{
'c':{'ddd'},
'e':{}
}
}
root=DICT(test)
or
from DICT import DICT
>>> root=DICT()
- Add new data
>>> root.tree.apple.color='red'
or
>>> root.tree.apple.Put('color','red')
or
>>> root.tree.apple['color']='red'
- Get data
>>> root.tree.apple.color.Get()
or
>>> root.tree.apple.Get('color')
- Print dictionary
>>> root.Print()
>>> root.tree.Print()
-
Set property at Apple's color
- Set readonly
>>> root.tree.apple.color.Proper('readonly',True)
- Try change data
>>> root.tree.apple.Put('color','white')
item is readonly
>>> root.tree.Print()
{'color': {'._d': 'red', '._p': {'readonly': True}}}
- Unset readonly
>>> root.tree.apple.color.Proper('readonly',False)
- Try change data
>>> root.tree.apple.Put('color','white')
>>> root.tree.Print()
{'color': {'._d': 'red', '._p': {'readonly': True}}}
Sample Dictionary:
{'a': 123,
'b': {'c': set(['ddd']), 'e': {}, 'z': 123},
'tree': {'apple': {'color': {'._d': 'white', '._p': {'readonly': False}}},
'banana': {'banana2': {'._d': 'white', '._p': {}},
'banana3': {'._d': 'yellow', '._p': {}},
'color': {'._d': 'yellow', '._p': {'readonly': True}}},
'yellow': {'monkey': {'._d': 'white', '._p': {}}}}}
- Find readonly property item path
>>> root.Find('readonly',property=True)
['tree/banana/color']
- Find apple key path
>>> root.Find('apple',mode='key')
['tree/apple']
- Find white color data path
>>> root.Find('white')
['tree/apple/color', 'tree/yellow/monkey', 'tree/banana/banana2']
- Find 123 data path
>>> root.Find('white')
['a', 'b/z']
- Find white color data path in key and value
>>> root.Find('yellow',mode='all')
['tree/yellow', 'tree/banana/color', 'tree/banana/banana3']
- Save Data (always use root if not then save partial data)
>>> from DICT import DICT
>>> DICT._dfile_='<dict file name>'
>>> root.Save()
or
>>> import DICT
>>> DICT.DICT._dfile_='<dict file name>'
>>> root.Save()
- Load Data (always use root if not then load at key)
>>> from DICT import DICT
>>> DICT._dfile_='<dict file name>'
>>> root.Load()
or
>>> import DICT
>>> DICT.DICT._dfile_='<dict file name>'
>>> root.Load()
MISC functions
Useful commands
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
kmisc-2.1.10.tar.gz
(98.1 kB
view details)
Built Distribution
kmisc-2.1.10-py3-none-any.whl
(114.6 kB
view details)
File details
Details for the file kmisc-2.1.10.tar.gz
.
File metadata
- Download URL: kmisc-2.1.10.tar.gz
- Upload date:
- Size: 98.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b6d1227f13d86ffad13e078bda3145ebaac395d9ed9f3bcc5bbd704c0318298 |
|
MD5 | f1ca9d1350144cd1c519d6ac736e5c32 |
|
BLAKE2b-256 | c98416dd62b507b3ce37ed0d37c2e659f72829a201e73b9831e59feacd4ac9ac |
Provenance
File details
Details for the file kmisc-2.1.10-py3-none-any.whl
.
File metadata
- Download URL: kmisc-2.1.10-py3-none-any.whl
- Upload date:
- Size: 114.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | edd8e6e6dca435cc8852b073502e10a65a49c7738af9d715b8ad8a9e7369dcfa |
|
MD5 | 7cb785a1b92650d35aa8d3afae7aaac7 |
|
BLAKE2b-256 | 55972e0db0db3cadc0dbaf596c1d92f84d1705ad4814bae9b1f3bd22c887b589 |