跳转到主要内容

为SomConnexio的MM Proxy(使用REST API)提供的Python包装器

项目描述

pipeline status coverage report

: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"

开发

设置环境

  1. 安装pyenv
curl https://pyenv.run | bash
  1. 构建Python版本
pyenv install  3.8.13
  1. 创建虚拟环境
pyenv virtualenv 3.8.13 mm-proxy-python-client
  1. 安装依赖项
pyenv exec pip install -r requirements-dev.txt
  1. 安装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 来执行 Flake8yamllint(用于磁带)和 Black 作为格式化工具。

发布流程

按照以下步骤更新 CHANGELOG.md

  1. 添加任何合并请求中缺失的条目。
  2. 复制 [未发布] 标题。
  3. 将第二个 未发布 替换为版本号,后跟当前日期。请从以前的发布中复制确切的格式。

然后,您可以发布并将软件包发布到 PyPi

  1. 更新 __init__.py 中的 __version__ 变量,以匹配 CHANGELOG 中指定的版本。
  2. 为团队批准打开一个包含这些更改的合并请求
  3. 合并它,在合并提交上添加 git 标签并推送。
  4. 一旦管道成功通过,就去批准 发布 步骤。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

mm-proxy-python-client-0.1.2.tar.gz (10.4 kB 查看散列)

上传时间

构建分布

mm_proxy_python_client-0.1.2-py2.py3-none-any.whl (14.7 kB 查看散列)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面