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.
seperate to kDict from kmisc
# Install
```javascript
pip3 install kdic
```
# Custom Dictionary Class
Convert Dictionary to Object style Dictionary
## Contents
1. Create tree type items
1. Added New commands
1. Put() : Put value at a item
1. Get() : Get value of item
1. Del() : Delete item
1. Update() : Update value at item
1. Print() : Print dictionary
1. Diff() : Compare two dictionary
1. Check() : Check put the value is same as the item(key)'s value
1. List() : Return list of keys value
1. Proper() : Show/Set/Update property at the item.
1. Find() : Find data in the dictionary
1. Load() : Load saved data from file
1. Save() : dictionary save to file
1. Sort() : Sort dictionary
1. FirstKey(): Get first Key
1. FirstKey(): Get first Key
1. Added property at each key
- Initialize dictionary
```javascript
import kDict
root=kDict.kDict()
```
```javascript
import kDict
>>> test={
'a':123,
'b':{
'c':{'ddd'},
'e':{}
}
}
root=kDict.kDict(test)
```
- Add new data
```javascript
>>> root.tree.apple.color='red'
```
or
```javascript
>>> root.tree.apple.Put('color','red')
```
or
```javascript
>>> root.tree.apple['color']='red'
```
- Get data
```javascript
>>> root.tree.apple.color.Get()
```
or
```javascript
>>> root.tree.apple.Get('color')
```
- Print dictionary
```javascript
>>> root.Print()
>>> root.tree.Print()
```
- Set property at Apple's color
- Set readonly
```javascript
>>> root.tree.apple.color.Proper('readonly',True)
```
- Try change data
```javascript
>>> root.tree.apple.Put('color','white')
item is readonly
>>> root.tree.Print()
{'color': {'._d': 'red', '._p': {'readonly': True}}}
```
- Unset readonly
```javascript
>>> root.tree.apple.color.Proper('readonly',False)
```
- Try change data
```javascript
>>> root.tree.apple.Put('color','white')
>>> root.tree.Print()
{'color': {'._d': 'red', '._p': {'readonly': True}}}
```
Sample Dictionary:
```javascript
{'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
```javascript
>>> root.Find('readonly',property=True)
['tree/banana/color']
```
- Find apple key path
```javascript
>>> root.Find('apple',mode='key')
['tree/apple']
```
- Find white color data path
```javascript
>>> root.Find('white')
['tree/apple/color', 'tree/yellow/monkey', 'tree/banana/banana2']
```
- Find 123 data path
```javascript
>>> root.Find('white')
['a', 'b/z']
```
- Find white color data path in key and value
```javascript
>>> root.Find('yellow',mode='all')
['tree/yellow', 'tree/banana/color', 'tree/banana/banana3']
```
- Save Data (always use root if not then save partial data)
```javascript
>>> import kDict
>>> kDict.kDict._dfile_='<dict file name>'
>>> root=kDict.kDict()
>>> root.Save()
```
- Load Data (always use root if not then load at key)
```javascript
>>> import kDict
>>> kDict.kDict._dfile_='<dict file name>'
>>> root=kDict.kDict()
>>> root.Load()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/kagepark/kDict",
"name": "kdic",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Kage Park",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/5f/c1/5df687b016097431fb29d5a7584cb861800823c5b6223d6587802bef2951/kdic-1.0.10.tar.gz",
"platform": null,
"description": "Open Kage's useful tools and class to public.\n(Long time used and upgraded)\nBut, this is develope version.\nSo, suddenly it will be big change when I got some more good idea.\nseperate to kDict from kmisc\n\n# Install\n```javascript\npip3 install kdic\n```\n\n# Custom Dictionary Class\nConvert Dictionary to Object style Dictionary\n## Contents\n1. Create tree type items \n1. Added New commands\n 1. Put() : Put value at a item\n 1. Get() : Get value of item\n 1. Del() : Delete item\n 1. Update() : Update value at item\n 1. Print() : Print dictionary \n 1. Diff() : Compare two dictionary\n 1. Check() : Check put the value is same as the item(key)'s value\n 1. List() : Return list of keys value \n 1. Proper() : Show/Set/Update property at the item.\n 1. Find() : Find data in the dictionary\n 1. Load() : Load saved data from file\n 1. Save() : dictionary save to file\n 1. Sort() : Sort dictionary\n 1. FirstKey(): Get first Key \n 1. FirstKey(): Get first Key \n1. Added property at each key\n\n- Initialize dictionary \n\n\n```javascript\nimport kDict\nroot=kDict.kDict()\n```\n\n```javascript\nimport kDict\n>>> test={\n 'a':123,\n 'b':{\n 'c':{'ddd'},\n 'e':{}\n }\n }\nroot=kDict.kDict(test)\n```\n\n- Add new data\n\n```javascript\n>>> root.tree.apple.color='red'\n```\nor\n\n```javascript\n>>> root.tree.apple.Put('color','red')\n```\nor\n```javascript\n>>> root.tree.apple['color']='red'\n```\n- Get data\n```javascript\n>>> root.tree.apple.color.Get()\n```\nor\n```javascript\n>>> root.tree.apple.Get('color')\n```\n- Print dictionary\n```javascript\n>>> root.Print()\n>>> root.tree.Print()\n```\n- Set property at Apple's color\n\n - Set readonly\n```javascript\n>>> root.tree.apple.color.Proper('readonly',True)\n```\n - Try change data\n```javascript\n>>> root.tree.apple.Put('color','white')\nitem is readonly\n\n>>> root.tree.Print()\n{'color': {'._d': 'red', '._p': {'readonly': True}}}\n```\n - Unset readonly\n```javascript\n>>> root.tree.apple.color.Proper('readonly',False)\n```\n - Try change data\n```javascript\n>>> root.tree.apple.Put('color','white')\n>>> root.tree.Print()\n{'color': {'._d': 'red', '._p': {'readonly': True}}}\n```\nSample Dictionary:\n```javascript\n{'a': 123,\n 'b': {'c': set(['ddd']), 'e': {}, 'z': 123},\n 'tree': {'apple': {'color': {'._d': 'white', '._p': {'readonly': False}}},\n 'banana': {'banana2': {'._d': 'white', '._p': {}},\n 'banana3': {'._d': 'yellow', '._p': {}},\n 'color': {'._d': 'yellow', '._p': {'readonly': True}}},\n 'yellow': {'monkey': {'._d': 'white', '._p': {}}}}}\n```\n - Find readonly property item path\n```javascript\n>>> root.Find('readonly',property=True)\n['tree/banana/color']\n```\n - Find apple key path\n```javascript\n>>> root.Find('apple',mode='key')\n['tree/apple']\n```\n - Find white color data path\n```javascript\n>>> root.Find('white')\n['tree/apple/color', 'tree/yellow/monkey', 'tree/banana/banana2']\n```\n - Find 123 data path\n```javascript\n>>> root.Find('white')\n['a', 'b/z']\n```\n - Find white color data path in key and value\n```javascript\n>>> root.Find('yellow',mode='all')\n['tree/yellow', 'tree/banana/color', 'tree/banana/banana3']\n```\n - Save Data (always use root if not then save partial data)\n```javascript\n>>> import kDict\n>>> kDict.kDict._dfile_='<dict file name>'\n>>> root=kDict.kDict()\n>>> root.Save()\n```\n - Load Data (always use root if not then load at key)\n```javascript\n>>> import kDict\n>>> kDict.kDict._dfile_='<dict file name>'\n>>> root=kDict.kDict()\n>>> root.Load()\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Extended Dictionary",
"version": "1.0.10",
"project_urls": {
"Homepage": "https://github.com/kagepark/kDict"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ea471ec972ab152516cd73456e96885e011a9099c621776e4a2cd21402aa3dff",
"md5": "5d20eefa938e835f06422933f02d676c",
"sha256": "90f7f954d944aa2b5618bcd857df4338c28f37e5eb9e4a3f8256368f11eb25f0"
},
"downloads": -1,
"filename": "kdic-1.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5d20eefa938e835f06422933f02d676c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 6218,
"upload_time": "2024-11-25T18:09:09",
"upload_time_iso_8601": "2024-11-25T18:09:09.922146Z",
"url": "https://files.pythonhosted.org/packages/ea/47/1ec972ab152516cd73456e96885e011a9099c621776e4a2cd21402aa3dff/kdic-1.0.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5fc15df687b016097431fb29d5a7584cb861800823c5b6223d6587802bef2951",
"md5": "d27bcb397556bd29f5c4f8b270563366",
"sha256": "b0edd5b37d69578b724109b094d695e311193e96aa7fb504ffaf85e682c15769"
},
"downloads": -1,
"filename": "kdic-1.0.10.tar.gz",
"has_sig": false,
"md5_digest": "d27bcb397556bd29f5c4f8b270563366",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7030,
"upload_time": "2024-11-25T18:09:11",
"upload_time_iso_8601": "2024-11-25T18:09:11.301217Z",
"url": "https://files.pythonhosted.org/packages/5f/c1/5df687b016097431fb29d5a7584cb861800823c5b6223d6587802bef2951/kdic-1.0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-25 18:09:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kagepark",
"github_project": "kDict",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "kdic"
}