娱网科道内部python 公用包
Project description
娱网科道内部python 公用包
安装
使用 pip 安装
$ pip install ywkd_tools
pip 地址
https://pypi.org/project/ywkd-tools/
使用
PRC 调用
from ywkd_tools.inner_service_apis import InnerServices
InnerServices.setup(service_name=<调用者名称>, base_url=<RPC Domain>, secret=<RPC 认证密码>)
# 发送邮件
InnerServices.MSG().send_sms([57], 'SMS_177552091', {'username': 'tester','password': 'pwd12345'})
# 用户过滤
InnerServices.Cperm().filter_users(group_codes__in=['ceo'])
# 调用自定义方法 fun
InnerServices.Cperm().rpc_client.fun(...)
# 获取用户详情
InnerServices.Cperm().get_user(1)
# 实例1:
class AViewOrSerializer(xxx):
def some_method(...):
cperm = InnerServices.Cperm()
cperm.get_user(...)
cperm.filter_users(...)
cperm.rpc_client.fun(...)
...
# 实例2:
@app.task(...)
def asyn_job(...):
cperm = InnerServices.Cperm(request_id='xxxxxxxxxx') # or cperm = InnerServices.Cperm(request=request)
cperm.get_user(...)
cperm.filter_users(...)
cperm.rpc_client.fun(...)
...
Auth 认证
# 在初始化文件中执行
from ywkd_tools.auth import Auth
Auth.setup(service_name=<调用者名称>, rpc_base_url=<RPC Domain>, rpc_secret=<RPC 认证密码>)
# 在django view文件中
from ywkd_tools.auth import Auth
class SomeView(BaseView):
"""需要认证的Django Vew"""
authentication_classes = [Auth.RSTFBasciAuthentication]
...
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
return self.create(request, *args, **kwargs)
# 在对外提供RPC服务的文件中
from modernrpc.core import rpc_method
from modernrpc.auth import set_authentication_predicate
from ywkd_tools.auth import Auth
@rpc_method
def ping():
"""不需要认证的rpc 接口"""
return 'pong'
@rpc_method
@set_authentication_predicate(Auth.RPCBasciAuthentication().authenticate)
def get_import_info():
"""需要认证的rpc 接口"""
return ...
发布包
# 确保您拥有setuptools并wheel 安装了最新版本
$ python3 -m pip install --user --upgrade setuptools wheel
# 从setup.py位于的同一目录运行此命令
$ python3 setup.py sdist bdist_wheel
# 安装Twine
$ python3 -m pip install --user --upgrade twine
# 运行Twine以上传所有存档dist
$ python3 -m twine upload dist/*
$ python3 -m twine upload --skip-existing dist/*
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ywkd_tools-1.0.15.tar.gz
(9.9 kB
view hashes)
Built Distribution
Close
Hashes for ywkd_tools-1.0.15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 714228a6f06a99a8f9aa4e635d78ec217893790e8c49c5cb0bc3c6ae9a4b1adf |
|
MD5 | 233149fc9729cd87fc856a05d5458ea4 |
|
BLAKE2b-256 | b8fbcff0d194c1884510bfee180b013fb44c8a29fe3840c201209bed9a03ad65 |