娱网科道内部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 --upgrade setuptools wheel
# 安装Twine
$ python3 -m pip install --upgrade twine
# 从setup.py位于的同一目录运行此命令
$ python3 setup.py sdist bdist_wheel
# 运行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.18.tar.gz
(10.3 kB
view hashes)
Built Distribution
Close
Hashes for ywkd_tools-1.0.18-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfb5ab36d0064ce559c99e2186345d5bcc01cbb86f8122283916116991abf0f3 |
|
MD5 | 7b35d6672ff329299c593234b2d28f31 |
|
BLAKE2b-256 | d97392b5baeff4bc0d9a6832abce66cd81e54c5736298601884fb5dd30497cb9 |