Correos PreRegistro SOAP API的Python包装器
项目描述
:warning: 进行中 :warning
此库是访问PreregistroEnvio Correos SOAP API的Python包装器。
您可以在此处找到API的完整文档。
操作
- PreRegistroEnvio - 客户将提供所有必要的发货预登记数据,并将收到预登记的发货代码和标签,以在请求的格式(XML或base64编码的PDF格式)中对货物进行标记
安装
$ pip install correos-preregistro
配置环境
用法
创建PreRegistroEnvio发货
创建一个preregistroenvio并将带有发货编号的文件保存为文件名,并使用PDF标签作为内容
>>> from correos_preregistro.services.shipment import PreRegistrationShipment
>>> user = "utest"
>>> password = "ptest"
>>> client = RawClient(user, password)
>>> receiver = Receiver(
... name="Emilio Jose",
... surname="Marti Gomez",
... address="Cami del corrar, 51, Baix B",
... city="Moralla",
... state="Valencia",
... zip="03015",
... phone="666555444",
... email="emilio.jose@marti.com",
... lang="CA",
... sms_phone="666555444",
... )
>>> sender = Sender(
... name="SomConnexio",
... nif="F66380676",
... address="C/ de les Moreres, 119",
... city="El Prat de Llobregat",
... state="Barcelona",
... zip="08820",
... phone="931311728",
... email="serveis@somconnexio.coop",
... lang="CA",
... )
>>> package = Package(
... weight=1,
... postage_type="FP",
... product_code="S0132",
... delivery_modality="ST",
... weight_type="R",
)
>>> shipment = PreRegistrationShipment.create(
... client=client,
... code="XXX1",
... receiver=receiver,
... sender=sender,
... package=package,
... )
>>> shipment.shipment_code
"PQXXX10721392610108021C"
>>> label_file_name = "shipment_label_{}.pdf".format(shipment.shipment_code)
>>> f = open(shipment.get_pdf_label(), "wb")
>>> f.write(pdf_label)
>>> f.close()
开发
设置环境
- 安装
pyenv
curl https://pyenv.run | bash
- 构建Python版本
pyenv install 3.7.13
- 创建一个virtualenv
pyenv virtualenv 3.7.13 correos-preregistro
- 安装依赖项
pyenv exec pip install -r requirements.txt
- 安装pre-commit钩子
pyenv exec pre-commit install
以开发模式本地安装包
当我们在这个包的其他项目中使用它时,我们需要将其安装到其他文件中。以开发模式安装包可以帮助我们修改包并在其他项目中使用新版本。
pip install -e .
测试HTTP请求
我们使用Pytest的HTTP录制插件: pytest-recording。
使用VCR,我们可以捕获HTTP响应,然后使用它们执行测试。
添加新测试
- 公开所需的envvars。在配置环境部分中查找它们
- 使用
pytest
命令执行测试 - 如果您正在编写一个新的进行请求的测试,您应该运行
$ pytest --record-mode=once path/to/your/test
- 您可能需要记录特定测试的请求。在这种情况下,请确保只运行受影响的测试并运行
$ pytest --record-mode=rewrite path/to/your/test
- 将新的
cassetes
添加到提交中并推送。 - CI使用cassetes在测试中模拟HTTP响应。
运行测试套件
$ tox
格式化
我们使用Black作为格式化工具。首先提交,运行black
命令
$ black .
All done! ✨ 🍰 ✨
29 files left unchanged.
更深层次的
Black是一个很好的格式化工具,但为了在没有执行black
命令的情况下维护您的代码,您可以将IDE配置为在保存文件时使用darker来格式化更改的或添加的代码。
发布过程
按照以下步骤更新CHANGELOG.md
- 添加任何合并请求中缺少的条目。
- 复制
[Unreleased]
标题。 - 将第二个
Unreleased
替换为版本号和当前日期。请从以前的版本复制确切的格式。
然后,您可以发布并将包发布到PyPi
- 在
__init__.py
中更新__version__
变量,使其与CHANGELOG中指定的版本匹配。 - 为团队批准打开一个包含这些更改的合并请求。
- 合并它,在合并提交上添加一个git标签并将其推送。
- 一旦管道成功通过,您的包就已经发布。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
correos-preregistro-0.0.6.tar.gz (7.3 kB 查看哈希值)
构建分布
关闭
correos-preregistro-0.0.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9b705794772d6ce9219fd86bd0815c2f6404b324b169675627af39cc296a2d47 |
|
MD5 | 3837f1c98657ea9e78e4b0110c6bbd17 |
|
BLAKE2b-256 | 9d16b002d1432b6a0bb1c09d1551b6f01886d4c7ba5cd2217e183274098208ec |
关闭
correos_preregistro-0.0.6-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f000f0376024705cdc018fe9fd5731dcfdb4977977b1c2229a95b6d10445bd97 |
|
MD5 | b7d28410fe2abc2c3308f213b570b75e |
|
BLAKE2b-256 | 57c1032ad8541006f662d54856722b7cbfe47e7483d310d2e435f33867be8b4d |