Skip to main content

娱网科道内部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)

Uploaded Source

Built Distribution

ywkd_tools-1.0.18-py3-none-any.whl (14.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page