娱网科道内部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 details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ywkd_tools-1.0.18.tar.gz.
File metadata
- Download URL: ywkd_tools-1.0.18.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63cbfb829eba0078e849a8761922d7c57a36014baee46c999e86d0478e17e3f1
|
|
| MD5 |
da2dc9c0c27086f1288b029dc39891e2
|
|
| BLAKE2b-256 |
8654b63eddb46c87c77d855f9c631adc8d417d82220900df155799fad536dea1
|
File details
Details for the file ywkd_tools-1.0.18-py3-none-any.whl.
File metadata
- Download URL: ywkd_tools-1.0.18-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfb5ab36d0064ce559c99e2186345d5bcc01cbb86f8122283916116991abf0f3
|
|
| MD5 |
7b35d6672ff329299c593234b2d28f31
|
|
| BLAKE2b-256 |
d97392b5baeff4bc0d9a6832abce66cd81e54c5736298601884fb5dd30497cb9
|