为SomConnexio的MM Proxy(使用REST API)提供的Python包装器
项目描述
:warning: 进行中 :warning
这个库是访问Somconnexio的Odoo(Odoo v12带有自定义)的Python包装器。有关自定义的更多信息,请参阅 SomConnexio Odoo模块。
资源
- AssetConsumption - 资产消耗
安装
$ pip install mm-proxy-python-client
配置环境
您需要定义mm-proxy基本认证用户和密码以及主机URL作为环境变量。您需要定义
MM_PROXY_BASEURL=<YOUR MM-PROXY HOST>/api
MM_PROXY_USER=<YOUR MM-PROXY BASIC AUTH USER>
MM_PROXY_PASSWORD=<YOUR MM-PROXY BASIC AUTH PASSWORD>
如果未定义这些环境变量,则会引发一个异常,其中包含未定义的环境变量名称。
使用方法
获取移动消耗
>>> from mm_proxy_python_client.resources.mobile_consumption import MobileConsumption
>>>
>>> consumption = MobileConsumption.get(asset_id="", phone_number="666888999", start_date="2023-12-01", end_date="2023-13-31")
>>> consumption.asset_id
123
>>> consumption.tariffs[0].dataTotal
"10240"
开发
设置环境
- 安装
pyenv
curl https://pyenv.run | bash
- 构建Python版本
pyenv install 3.8.13
- 创建虚拟环境
pyenv virtualenv 3.8.13 mm-proxy-python-client
- 安装依赖项
pyenv exec pip install -r requirements-dev.txt
- 安装pre-commit钩子
pyenv exec pre-commit install
测试HTTP请求
我们使用Pytest的HTTP录制插件:pytest-recording。
使用VCR,我们可以捕获HTTP响应,然后使用它们执行测试。
为了实际调用mm-proxy本地客户端以创建或重写cassettes,我们需要首先更改conftest.py
文件,并临时提供实际的mm-proxy用户名和密码。
monkeypatch.setenv("MM_PROXY_PASSWORD", "<ACTUAL_MM_PROXY_PASSWORD>")
⚠️ 不要提交此更改!
添加新测试
- 公开所需的envvars。在配置环境部分中查找它们
- 使用
pytest
命令执行测试 - 如果您正在编写一个创建请求的新测试,您应该运行
$ pytest --record-mode=once path/to/your/test
- 您可能需要为特定测试记录请求。在这种情况下,请确保仅运行受影响的测试,并运行
$ pytest --record-mode=rewrite path/to/your/test
- 将新的
磁带
添加到提交中并推送。 - CI 使用磁带在测试中模拟 HTTP 响应。
运行测试套件
$ tox
格式化
我们使用 pre-commit 来执行 Flake8,yamllint(用于磁带)和 Black 作为格式化工具。
发布流程
按照以下步骤更新 CHANGELOG.md
- 添加任何合并请求中缺失的条目。
- 复制
[未发布]
标题。 - 将第二个
未发布
替换为版本号,后跟当前日期。请从以前的发布中复制确切的格式。
然后,您可以发布并将软件包发布到 PyPi
- 更新
__init__.py
中的__version__
变量,以匹配 CHANGELOG 中指定的版本。 - 为团队批准打开一个包含这些更改的合并请求
- 合并它,在合并提交上添加 git 标签并推送。
- 一旦管道成功通过,就去批准
发布
步骤。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
mm-proxy-python-client-0.1.2.tar.gz (10.4 kB 查看散列)
构建分布
关闭
散列 为 mm_proxy_python_client-0.1.2-py2.py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 14942fa681333afcc97d90fd8bf9d796e03dbc65e93bd3bb179d216888ac14d0 |
|
MD5 | 6574f5fa4b6bcf85c55a02733d03a014 |
|
BLAKE2b-256 | 3ae18b9c09136f3b5db348cd2965cf8a734010c82f2faf15005d22319d4e29ed |