clspy
clspy
clspy package
Submodules
clspy.cli module
clspy.config module
- class Config(file='config.json')
Bases:
object
Config is a config manager
Aim to support json/xml/ini/yaml parse and dump operations.
Object can be easily used ad python dict type.
Json: object managed as dict
Ini: object managed as dict
Xml: ElementTree managed object
Yaml: object managed as dict
- get(key=None)
get config key from parsed contents
- Parameters
key (<str>, optional) – key of value or object. Defaults to None.
- Returns
None
- load(file)
load config file
- Parameters
file – relative or absolute path to file
- Raises
Exception.args – Exception.args(“Not supported”)
- save(file)
dump config contents to file
- Parameters
file (Path) – Where to dump file, path would be relative or absolute
- Raises
Exception.args – Exception.args(“Not supported”)
- Returns
If config content type is not match <file>’s suffix
- Return type
False
- class ConfigType(value)
Bases:
enum.Enum
Support types: Json, Yaml, Ini, Xml
- CCIni = 3
- CCJson = 1
- CCXml = 4
- CCYaml = 2
- class ConfigUnique(*args, **kwargs)
Bases:
clspy.config.Config
Globally unique Config object
- Parameters
metaclass – Defaults to SingletonMetaclass.
- clslog = <RootLogger root (DEBUG)>
pyyaml package is required
clspy.crypto module
- class Md5
Bases:
object
wheel of md5
- file(filename)
- Parameters
filename – calc md5 digest from a file
- Returns
md5 string
- same(f1, f2)
- Parameters
f1 – first filename or content<string>
f2 – second filename or content<string>
- Returns
md5(f1) == md5(f2)
- string(content)
- Parameters
content – calc digest from string
- Returns
md5 string
clspy.db module
- class Sql
Bases:
object
wheel of SQL operations
- Parameters
dburl –
sqlalchemy url parameter
dialect+driver://username:password@host:port/database
password is URL encoded(import urllib.parse)
sqlite://<nohostname>/<path>, where <path> is relative
sqlite:///foo.db, means foo.db in current path
sqlte+pysqlte:///:memory:
sqlite:////absolute/path/to/foo.db, absolute after ‘///’
sqlite:///C:pathtofoo.db, Windows absolute path
r’sqlite:///C:pathtofoo.db’, Windows alternative using raw string
engine = create_engine(‘sqlite://’) Using SQLite :memory:
postgresql://scott:tiger@localhost:5432/mydatabase
postgresql+psycopg2://scott:tiger@localhost/mydatabase
postgresql+pg8000://scott:tiger@localhost/mydatabase
mysql://scott:tiger@localhost/foo
mysql+mysqldb://scott:tiger@localhost/foo
mysql+pymysql://scott:tiger@localhost/foo
oracle://scott:tiger@127.0.0.1:1521/sidname
oracle+cx_oracle://scott:tiger@tnsname
mssql+pyodbc://scott:tiger@mydsn
mssql+pymssql://scott:tiger@hostname:port/dbname
- commit()
- create(dburl)
Create engine
- create_table(table=<class 'sqlalchemy.orm.decl_api.Base'>)
Create table use MetaData, Column,
More on https://www.osgeo.cn/sqlalchemy/core/type_basics.html
- delete(item=None)
- init(driver, user, passwd, host, port, dbname)
Init database
- insert(item=None)
Insert an item
- Parameters
item (MetaData, optional) – Basic data structure. Defaults to None.
- Raises
Exception – Any exception
e – Any exception
- query(table=None)
How to filter
result.filter(Table.attr == value)
How to update
result.filter(Table.attr == value).update({‘attr’: ‘new_value’}) filter().delete() filter().all()
clspy.log module
- class Logger(*args, **kw)
Bases:
clspy.singleton.SingletonClass
Gloable logging wrapper
This class inherits a module named loguru, Logger module will use pure logging if loguru module not imported correctly.
- property file
- property log
get a logger
- Parameters
filename (Path, optional) – Log to file. Defaults to None.
- Returns
<loguru.logger> returns if loguru imported correctly, otherwise <root_logger> returns
- Return type
logger
clspy.singleton module
- class SingletonClass(*args, **kw)
Bases:
object
Singleton class wapper Only support __init__ function without parameters, usage:
- class Cls(SingletonClass):
- def __init__(self):
pass
clspy.utils module
- dir_copy(srcpath, dstpath)
- is_frozen()
- mkdir_p(absolute_path)
mkdir -p implement
Usage:
mkdir_p(‘D:ABC.txt’)
mkdir_p(‘~/A/B/C’)
- pip_conf_install(src=None)
- pipguess()
- rmdir(path)
Warning: all files and directories in path will be deleted.
- runpath(file='/home/docs/checkouts/readthedocs.org/user_builds/clspy/checkouts/stable/docs/../clspy/utils.py')
- setenv(permanent=True, key=None, value=None)
- win_runtime_cp(src, to)
clspy.version module
0.0.5
Module contents
- class Config(file='config.json')
Bases:
object
Config is a config manager
Aim to support json/xml/ini/yaml parse and dump operations.
Object can be easily used ad python dict type.
Json: object managed as dict
Ini: object managed as dict
Xml: ElementTree managed object
Yaml: object managed as dict
- get(key=None)
get config key from parsed contents
- Parameters
key (<str>, optional) – key of value or object. Defaults to None.
- Returns
None
- load(file)
load config file
- Parameters
file – relative or absolute path to file
- Raises
Exception.args – Exception.args(“Not supported”)
- save(file)
dump config contents to file
- Parameters
file (Path) – Where to dump file, path would be relative or absolute
- Raises
Exception.args – Exception.args(“Not supported”)
- Returns
If config content type is not match <file>’s suffix
- Return type
False
- class ConfigType(value)
Bases:
enum.Enum
Support types: Json, Yaml, Ini, Xml
- CCIni = 3
- CCJson = 1
- CCXml = 4
- CCYaml = 2
- class ConfigUnique(*args, **kwargs)
Bases:
clspy.config.Config
Globally unique Config object
- Parameters
metaclass – Defaults to SingletonMetaclass.
- class Logger(*args, **kw)
Bases:
clspy.singleton.SingletonClass
Gloable logging wrapper
This class inherits a module named loguru, Logger module will use pure logging if loguru module not imported correctly.
- property file
- property log
get a logger
- Parameters
filename (Path, optional) – Log to file. Defaults to None.
- Returns
<loguru.logger> returns if loguru imported correctly, otherwise <root_logger> returns
- Return type
logger
- class Md5
Bases:
object
wheel of md5
- file(filename)
- Parameters
filename – calc md5 digest from a file
- Returns
md5 string
- same(f1, f2)
- Parameters
f1 – first filename or content<string>
f2 – second filename or content<string>
- Returns
md5(f1) == md5(f2)
- string(content)
- Parameters
content – calc digest from string
- Returns
md5 string
- class SingletonClass(*args, **kw)
Bases:
object
Singleton class wapper Only support __init__ function without parameters, usage:
- class Cls(SingletonClass):
- def __init__(self):
pass
- class SingletonMetaclass
Bases:
type
Metaclass implement, usage:
- class Cls(metaclass=SingletonMetaclass):
pass
- class Sql
Bases:
object
wheel of SQL operations
- Parameters
dburl –
sqlalchemy url parameter
dialect+driver://username:password@host:port/database
password is URL encoded(import urllib.parse)
sqlite://<nohostname>/<path>, where <path> is relative
sqlite:///foo.db, means foo.db in current path
sqlte+pysqlte:///:memory:
sqlite:////absolute/path/to/foo.db, absolute after ‘///’
sqlite:///C:pathtofoo.db, Windows absolute path
r’sqlite:///C:pathtofoo.db’, Windows alternative using raw string
engine = create_engine(‘sqlite://’) Using SQLite :memory:
postgresql://scott:tiger@localhost:5432/mydatabase
postgresql+psycopg2://scott:tiger@localhost/mydatabase
postgresql+pg8000://scott:tiger@localhost/mydatabase
mysql://scott:tiger@localhost/foo
mysql+mysqldb://scott:tiger@localhost/foo
mysql+pymysql://scott:tiger@localhost/foo
oracle://scott:tiger@127.0.0.1:1521/sidname
oracle+cx_oracle://scott:tiger@tnsname
mssql+pyodbc://scott:tiger@mydsn
mssql+pymssql://scott:tiger@hostname:port/dbname
- commit()
- create(dburl)
Create engine
- create_table(table=<class 'sqlalchemy.orm.decl_api.Base'>)
Create table use MetaData, Column,
More on https://www.osgeo.cn/sqlalchemy/core/type_basics.html
- delete(item=None)
- init(driver, user, passwd, host, port, dbname)
Init database
- insert(item=None)
Insert an item
- Parameters
item (MetaData, optional) – Basic data structure. Defaults to None.
- Raises
Exception – Any exception
e – Any exception
- query(table=None)
How to filter
result.filter(Table.attr == value)
How to update
result.filter(Table.attr == value).update({‘attr’: ‘new_value’}) filter().delete() filter().all()
About clspy
clspy clspy is a set of fast programming tools that are gradually generated during the python learning process.
FAQ of clspy
License
MIT License
Copyright (c) 2021, Connard.Lee
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.