VerificaC19 SDK for Python
项目描述
VerificaC19 Python SDK
🐍 VerificaC19 SDK的Python实现。
要求
- Python版本 >= 3.7
- MongoDB版本 >= 5.x(用于存储CRL)
确保您的系统中已安装zbar
。 来源。
- 对于Mac OS X,可以通过
brew install zbar
进行安装 - Debian系统通过
apt install libzbar0
- Fedora / Red Hat
dnf install zbar
安装
pip install verificac19
用法
下载和缓存规则、CRL数据和DSC
您可以使用service
下载和缓存规则、CRL数据和DSC。
from verificac19 import service
service.update_all()
update_all
可能会引发VerificaC19Error
from verificac19.exceptions import VerificaC19Error
⚠️ 默认情况下,规则和DSC将缓存在本地文件夹中,要更改它,请设置环境变量VC19_CACHE_FOLDER
。
⚠️ CRL数据将存储在MongoDB数据库中。默认的连接字符串为mongodb://root:example@localhost:27017/VC19?authSource=admin
,如果想要更改它,请设置环境变量VC19_MONGODB_URL
。
验证DCC
您可以使用verifier
验证DCC。您可以使用verify_image
验证图像,使用verify_raw
验证原始数据。
from verificac19 import verifier
result = verifier.verify_image("my_dcc.png")
result = verifier.verify_raw("HC1:GH.....1GH")
verify_image
和verify_raw
返回一个包含person
姓名、date_of_birth
、code
和message
以及result
的字典
{
'code': verifier.Codes.NOT_VALID,
'result': False,
'message': 'Certificate is not valid',
'person': 'Sčasný Svätozár',
'date_of_birth': '1984-09-27'
}
您可以比较返回的code
与verifier.Codes
值
代码 | 描述 | 结果 | |
---|---|---|---|
✅ | VALID | 证书有效 | True |
⚠️ | TEST_NEEDED | 如果验证模式是BOOSTER_DGP,则需要测试 | False |
❌ | 无效 | 证书无效 | False |
❌ | 尚未生效 | 证书尚未生效 | False |
❌ | 已撤销 | 证书已撤销 | False |
❌ | 非欧盟DCC | 证书不是欧盟DCC | False |
例如
result = verifier.verify_image("my_dcc.png")
assert result['code'] == verifier.Codes.NOT_VALID
⚠️ verify_image
和 verify_raw
方法在没有初始化缓存的情况下可能会引发 VerificaC19Error
。您至少需要调用一次 service.update_all()
!
验证模式
如果您想更改验证模式并验证证书是否为超级绿码,则需要将 verifier.Mode.SUPER_DGP
传递给 verify_image
和 verify_raw
方法。
from verificac19 import verifier
result = verifier.verify_image("my_dcc.png", verifier.Mode.SUPER_DGP)
verifier.Mode
提供了两个可能的值
代码 | 描述 |
---|---|
NORMAL_DGP | 常规验证(默认值) |
SUPER_DGP | 超级绿码验证 |
BOOSTER_DGP | 加强验证模式 |
详细信息
-
SUPER_DGP 模式
:VerificaC19 SDK 仅认为针对已接种或已从新冠康复的人的有效绿码有效,并将阻止所有其他人进入酒吧、餐厅、电影院、健身房、剧院、迪厅和体育场。 -
BOOSTER_DGP 模式
:VerificaC19 SDK 认为加强剂接种后生成的绿码有效。此外,在首次疫苗接种周期或康复的同时出示证明 SARS-CoV-2 测试结果的数字文件时生成的绿码也视为有效。
开发
安装开发依赖项
pip install -r requirements-dev.txt
确保您的系统中已安装zbar
。 来源。
- 对于Mac OS X,可以通过
brew install zbar
进行安装 - Debian系统通过
apt install libzbar0
- Fedora / Red Hat
dnf install zbar
CRL 数据将存储在 MongoDB 数据库中。此存储库提供了一个简单的 docker-compose.yml
文件(开发实例)和一个副本集。默认连接字符串为 mongodb://root:example@localhost:27017/VC19?authSource=admin
,如果您想更改它,请设置 VC19_MONGODB_URL
环境变量。
运行测试
make test
运行示例
python -m examples.<example_name>
作者
版权所有 (c) 2022 - Lotrèk Digital Agency
贡献者
感谢所有参与改进此项目的人,日复一日。
许可协议
此库可在 MIT 许可协议下使用。
项目详情
下载文件
为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
verificac19-1.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5aa415c0ed8aaee610bb32b48b7b97746b8bfc52703c7a39cb6e2a8e0da8c6be |
|
MD5 | fdb945179cbcd1d7f42fe16a2b4363bf |
|
BLAKE2b-256 | b48deb040f059ff665466874a86d6841a55368176be771f1d90df2c65570dca2 |