Skip to main content

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

  1. Create tree type items
  2. Added New commands
    1. Put() : Put value at a item
    2. Get() : Get value of item
    3. Del() : Delete item
    4. Update() : Update value at item
    5. Print() : Print dictionary
    6. Diff() : Compare two dictionary
    7. Check() : Check put the value is same as the item(key)'s value
    8. List() : Return list of keys value
    9. Proper() : Show/Set/Update property at the item.
    10. Find() : Find data in the dictionary
    11. Load() : Load saved data from file
    12. Save() : dictionary save to file
    13. Sort() : Sort dictionary
    14. FirstKey(): Get first Key
    15. FirstKey(): Get first Key
  3. 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

kmisc-2.1.88.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

kmisc-2.1.88-py3-none-any.whl (37.4 kB view details)

Uploaded Python 3

File details

Details for the file kmisc-2.1.88.tar.gz.

File metadata

  • Download URL: kmisc-2.1.88.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for kmisc-2.1.88.tar.gz
Algorithm Hash digest
SHA256 b6833db7c3c64b139536a0a305730180c546d19058a136b92e44cbfe4244db30
MD5 79909d2e1b6c155e53714ccf1642616e
BLAKE2b-256 b75973f5dacc3e7acc963e770c95fdcddaf44e211cbc4c2a13b61400413f5de9

See more details on using hashes here.

Provenance

File details

Details for the file kmisc-2.1.88-py3-none-any.whl.

File metadata

  • Download URL: kmisc-2.1.88-py3-none-any.whl
  • Upload date:
  • Size: 37.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for kmisc-2.1.88-py3-none-any.whl
Algorithm Hash digest
SHA256 cf0394028b9577bbf74a51d9dc57b23833ac683680b6c405e58e44c87e5c5b05
MD5 af5031b056146abc8ac1c9441efae06e
BLAKE2b-256 a4f05c74da0ac53594881628d82c009b075b64efd5ef5a95e0ab027cd64124c7

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page