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
Install
pip3 install kmisc
Import functions
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
- FirstKey(): Get first Key
- Added property at each key
- Initialize dictionary
from kmisc import kDict
root=kDict.kDict()
from kmisc import kDict
>>> test={
'a':123,
'b':{
'c':{'ddd'},
'e':{}
}
}
root=kDict.kDict(test)
- 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 kmisc import kDict
>>> kDict.kDict._dfile_='<dict file name>'
>>> root.Save()
- Load Data (always use root if not then load at key)
>>> from kmisc import kDict
>>> kDict.kDict._dfile_='<dict file name>'
>>> root.Load()
MISC functions
Useful commands
Type : Similar as isinstance(,(chk,type))
>>> import kmisc as km
>>> km.Type('abc','str')
>>> True
>>> km.Type('abc',str)
>>> True
Copy: copy data for list,dict,str,int,tuple...
>>> new_data=Copy(<data>)
Join : Similar as os.path().join() Joining data of bytes,string,....
Next: Get data from list,tuple,dict,string
Delete : Delete data in list,tuple,dict,str
COLOR : class for console,html color string
FIND : find string or format data
DIFF : diff between data
LIST : handle list()
STR: handle string
TIME : handle time formats
SHELL : handle command run,progress,....
BYTES: handle byte data
CONVERT : data converter
MAC : handle mac address
VERSION : handle version
IP : handle IP address
GET: getting data from anywhere
IS: check the data
LOG: handle log data
HOST: handle Host Information
FILE: handle File (Read/Write)
WEB: handle web protocol data
EMAIL: handle email data
ANSI : handle hansi data
Multiprocessor : handle multi processing
FUNCTION: handle function information
SCREEN: handle ipmi SOL
CLI : handle Command Line Interface
Cut: cutting string to format
Get: Getting data from anywhere
Replace : replace string data
Insert : add data
Update: update data
printf : similar as printf in c
sprintf : similar as sprintf in c
Sort : sorting data
findXML : Get XML data
cat : similar as linux cat command
ls : similar as linux ls command
IsSame: check both data is same or not
etc...
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 kmisc-2.1.109.tar.gz
.
File metadata
- Download URL: kmisc-2.1.109.tar.gz
- Upload date:
- Size: 36.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61bb389d279fc48d2bdd46e94a492859a923ec5d6009b83825a1678968abf332 |
|
MD5 | 6190c27a3bd5d4ca80190c4dde7ac190 |
|
BLAKE2b-256 | 038b54dff723b4b781a7b9f7fb26a55dbcf26d0f47c447e3d9aae62b2da87770 |
File details
Details for the file kmisc-2.1.109-py3-none-any.whl
.
File metadata
- Download URL: kmisc-2.1.109-py3-none-any.whl
- Upload date:
- Size: 34.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c0f330d24d190cda2c6fc1f970ae239ae0daa44ef8b2d2c5635c17762380cac |
|
MD5 | 088271f1a6ca4b90ec59175a7e353de6 |
|
BLAKE2b-256 | d5070f7f84b34af7e8ddd3f25704688b84f23ec810cde235baa8bcb8b3d5b30c |