[TOC]
# 天智信达的库
## 用法
1. 此库作为git项目管理,凡是修改完后应及时通知到开发团队
2. 需要使用库中的方法,使用pip install,这时候就可以在项目中引用库中的方法
3. 引用的方法举例:
----------------------------------------------------------
- #### generation - 更新库
_Make sure you installed setuptools and wheel._
_Important: You must modify the version of the package in setup.py and delete folders (build, dist, egg-info)_
> python setup.py sdist bdist_wheel
- #### upload - 上传代码
Install twine before doing this(qays:鱼和熊掌不可兼得)
> twine upload dist/*
------------------------------------------------------------
- #### install - 安装
> pip install wisdoms
- #### find the latest package of wisdoms - 发现最新版本
> pip list --outdated
- #### upgrade - 升级到最新包
> pip install wisdoms --upgrade
## packets usage:
- #### auth.py:
``` python
# 权限验证
from wisdoms.auth import permit
host ={'AMQP_URI': "amqp://guest:guest@localhost"}
auth = permit(host)
class A:
@auth
def func():
pass
```
- #### config.py
``` python
# 读取yml配置
from wisdoms.config import c
# gains item of YML config
print(c.get('name'))
# transforms class into dict
d = c.to_dict()
print(d['name'])
```
- #### commons package
``` python
# 返回执行后的状态码
from wisdoms.commons import revert, codes, success
def func():
# do something
# revert(codes.code) or revert(number)
# return revert(1)
return revert(codes.ERROR)
def foo():
# return revert(code, data, desc)
return revert(codes.SUCCESS, {'data':'data'},'返回成功描述信息')
def done():
# simplified revert where success execute
# return success(data) or success()
return success()
```
- #### util.py
``` python
# 多个字符串连接成路径
from wisdoms.utils import joint4path
print(joint4path('abc','dac','ccc'))
# $: abc/dac/ccc
# ------------------------------------------------------------------
# 对象转字典
from wisdoms.utils import o2d
o2d(obj)
# ------------------------------------------------------------------
# 捕获异常装饰器
from wisdoms.utils import func_exception
ex = func_exception(codes.WARNING)
@ex
def func():
pass
# ------------------------------------------------------------------
# 捕获异常类装饰器
from wisdoms.utils import cls_exception
# ex为方法装饰器
xpt_cls = cls_exception(ex)
@xpt_cls
class A:
name = 'a'
def __init__(self, param):
self.desc = param
def func1(self, param):
return self.desc + param
@classmethod
def func2(cls, param):
print(cls)
print('func2', param)
raise Exception('func2 error')
@staticmethod
def func3(param):
print('func3', param)
raise Exception('func3 error')
aa = A('param')
# 注意: 该装饰器的静态方法和类方法必须用实例调用
print(aa.func1('1111111'))
print(aa.func2('2222222'))
print(aa.func3('3333333'))
```
- #### ms.py
``` python
from wisdoms.ms import ms_base
MsBase = ms_base(config)
class A(MsBase):
pass
# -----------------------------------------------
from wisdoms.ms import closure_crf
crf = closure_crf(config('ms_host'))
```
- #### pg_db.py
``` python
from wisdoms.pg_db import session_exception
se = session_exception(session)
@se
def func():
# raise exception extend SqlalChemyError
pass
# ------------------------------------------------------------------
# session 增删改查表基础类,已经实现增删改查通用方法,直接继承就能使用
from wisdoms.db import repo_ref
RepoBase = repo_ref(session)
class FooRepo(RepoBase):
"""
common add, delete, update, get(include search) function finished
"""
pass
# Foo is the model of table
foo = FooRepo(Foo)
# you can do follow list
foo.add({'name':'name','desc':'desc',...})
foo.update(id,{'name':'rename','desc':'redesc',...})
foo.delete(id)
foo.get() # return list of all objects
foo.get(id) # return a object
foo.get(None,name ='name',...}) # return list of objects what you search
```
## 如何设计包
- 顶级包:wisdom,代表天智,智慧
- 现阶段的约定:采用一级包的方式
- 不同的功能放在不同的文件(模块)即可做好方法的分类

挣扎的蓝藻
- 粉丝: 15w+
最新资源
- EPC工程总承包项目管理及实施(图表丰富).ppt
- oracle伪列以与伪表.doc
- 2023年甘肃省专升本计算机科学与技术专业习题师大模拟真题.doc
- 北大青鸟网络工程师(2021整理).docx
- 第46届世界技能大赛山东省选拔赛网络安全.pdf
- 2023年三级嵌入式系统.docx
- EAS协作与音视频融合通信论坛-上海电力-张恩宝:应急指挥调度案例.pdf
- StrutsHibernate的网上问卷调查分析报告.doc
- Redis学习笔记.pdf
- 2023年满分题山西省中小学幼儿园安全知识网络竞赛.doc
- IT系统集成-销售技巧.pptx
- S720300编程语言和存储区.ppt
- sybase系统管理员培训.ppt
- Cadence原理图设计技巧.doc
- LTE网络保障手册(可编辑修改word版).pdf
- Photoshop个人总结范文精选5篇.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


