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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

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

Hashes for ywkd_tools-1.0.18.tar.gz
Algorithm Hash digest
SHA256 63cbfb829eba0078e849a8761922d7c57a36014baee46c999e86d0478e17e3f1
MD5 da2dc9c0c27086f1288b029dc39891e2
BLAKE2b-256 8654b63eddb46c87c77d855f9c631adc8d417d82220900df155799fad536dea1

See more details on using hashes here.

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

Hashes for ywkd_tools-1.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 bfb5ab36d0064ce559c99e2186345d5bcc01cbb86f8122283916116991abf0f3
MD5 7b35d6672ff329299c593234b2d28f31
BLAKE2b-256 d97392b5baeff4bc0d9a6832abce66cd81e54c5736298601884fb5dd30497cb9

See more details on using hashes here.

Supported by

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