一个简单的纯Python模块,用于解析类似RFC822的Debian数据格式。包括包、控制、发布文件。
项目描述
Debian APT仓库包解析器
此版本仅支持Python 3。
一个简单的纯Python模块,用于解析类似RFC822的Debian数据格式。
这可以包括
- 包文件
- 控制文件
- 源文件
- 变更
安装
- 来自master的最新稳定构建(PyPi)
-
pip install debian_packages_parser
-
- 最新开发构建
- 使用提供的
.whl
文件。
- 使用提供的
用法
包文件
Package: com.spark.aionwidgets.weather
Name: Weather Aion Widget
Depends: mobilesubstrate, com.spark.Aion
Architecture: iphoneos-arm
Description: Weather Aion widget
Maintainer: Spark
Author: Spark
Section: Aion Widgets
Version: 1.0.0
Installed-Size: 136
SHA256: 6dcb8858474a16b90098a5b5bcb083e9876993c9b6f82b4fbcbe80c012e07369
SHA1: 53cd05fabc299d03b667595a6477bb507f89b96e
MD5sum: 39541c71228533fcd02a29f380c9c598
Depiction: https://www.sparkdev.me/package/com.spark.aionwidgets.weather
SileoDepiction: https://www.sparkdev.me/sileo/com.spark.aionwidgets.weather
Size: 6784
Filename: download/com.spark.aionwidgets.weather/1.0.0.deb
Icon: https://sparkdev.me/package-logo/com.spark.aionwidgets.weather
Tag: purpose::extension
Package: com.spark.airdropconfirm
Name: AirDropConfirm
Depends: mobilesubstrate
Architecture: iphoneos-arm
Description: An awesome MobileSubstrate tweak!
Maintainer: Spark
Author: Spark
Section: Tweaks
Version: 1.0.0
Installed-Size: 200
SHA256: 77cae709321740627124780ef5633ec322c9ba85f2d76e5956c75d8d92f8417a
SHA1: 44af8ad9d78874702772a158b199aaedb8314fb4
MD5sum: 7c9772f33ca571b8512f842100ceb6da
Depiction: https://www.sparkdev.me/package/com.spark.airdropconfirm
SileoDepiction: https://www.sparkdev.me/sileo/com.spark.airdropconfirm
Size: 8760
Filename: download/com.spark.airdropconfirm/1.0.0.deb
Icon: https://sparkdev.me/package-logo/com.spark.airdropconfirm
Tag: purpose::extension
代码
from debian_package_parse import PackagesParser
sample_packages_file = open("Packages", "r").read()
parser = PackagesParser(sample_pacakges_file)
data = parser.parse()
[
[
{
"tag": "Package",
"value": "com.spark.aionwidgets.weather"
},
{
"tag": "Name",
"value": "Weather Aion Widget"
},
{
"tag": "Depends",
"value": "mobilesubstrate, com.spark.Aion"
},
{
"tag": "Architecture",
"value": "iphoneos-arm"
},
{
"tag": "Description",
"value": "Weather Aion widget"
},
{
"tag": "Maintainer",
"value": "Spark"
},
{
"tag": "Author",
"value": "Spark"
},
{
"tag": "Section",
"value": "Aion Widgets"
},
{
"tag": "Version",
"value": "1.0.0"
},
{
"tag": "Installed-Size",
"value": "136"
},
{
"tag": "SHA256",
"value": "6dcb8858474a16b90098a5b5bcb083e9876993c9b6f82b4fbcbe80c012e07369"
},
{
"tag": "SHA1",
"value": "53cd05fabc299d03b667595a6477bb507f89b96e"
},
{
"tag": "MD5sum",
"value": "39541c71228533fcd02a29f380c9c598"
},
{
"tag": "Depiction",
"value": "https://www.sparkdev.me/package/com.spark.aionwidgets.weather"
},
{
"tag": "SileoDepiction",
"value": "https://www.sparkdev.me/sileo/com.spark.aionwidgets.weather"
},
{
"tag": "Size",
"value": "6784"
},
{
"tag": "Filename",
"value": "download/com.spark.aionwidgets.weather/1.0.0.deb"
},
{
"tag": "Icon",
"value": "https://sparkdev.me/package-logo/com.spark.aionwidgets.weather"
},
{
"tag": "Tag",
"value": "purpose::extension"
}
],
[
{
"tag": "Package",
"value": "com.spark.airdropconfirm"
},
{
"tag": "Name",
"value": "AirDropConfirm"
},
{
"tag": "Depends",
"value": "mobilesubstrate"
},
{
"tag": "Architecture",
"value": "iphoneos-arm"
},
{
"tag": "Description",
"value": "An awesome MobileSubstrate tweak!"
},
{
"tag": "Maintainer",
"value": "Spark"
},
{
"tag": "Author",
"value": "Spark"
},
{
"tag": "Section",
"value": "Tweaks"
},
{
"tag": "Version",
"value": "1.0.0"
},
{
"tag": "Installed-Size",
"value": "200"
},
{
"tag": "SHA256",
"value": "77cae709321740627124780ef5633ec322c9ba85f2d76e5956c75d8d92f8417a"
},
{
"tag": "SHA1",
"value": "44af8ad9d78874702772a158b199aaedb8314fb4"
},
{
"tag": "MD5sum",
"value": "7c9772f33ca571b8512f842100ceb6da"
},
{
"tag": "Depiction",
"value": "https://www.sparkdev.me/package/com.spark.airdropconfirm"
},
{
"tag": "SileoDepiction",
"value": "https://www.sparkdev.me/sileo/com.spark.airdropconfirm"
},
{
"tag": "Size",
"value": "8760"
},
{
"tag": "Filename",
"value": "download/com.spark.airdropconfirm/1.0.0.deb"
},
{
"tag": "Icon",
"value": "https://sparkdev.me/package-logo/com.spark.airdropconfirm"
},
{
"tag": "Tag",
"value": "purpose::extension"
}
]
]
我应该使用这个吗?
这取决于,如果您需要一个简单的模块来读取并操作类似RFC822的Debian数据格式,那么与python-debian
包相比,这可能是一个不错的选择。
如果您需要管理数据或需要更多可扩展性,可能最好不使用此模块。
此模块将不会“验证”提供的文件是否有效。这意味着如果文件无效,它可能会失败。请在使用前确保数据的验证。
开发
欢迎所有PR。 请记住在提交时使用black格式。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
debian_parser-0.1.2.tar.gz (4.9 kB 查看哈希值)
构建分发版
debian_parser-0.1.2-py3-none-any.whl (16.9 kB 查看哈希值)
关闭
debian_parser-0.1.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 618252f70eac9c3911567d87c740916f9e04156fe4cbd0bf8838178b63d68cfb |
|
MD5 | a1b626c3d08501047c2317cea4e16f61 |
|
BLAKE2b-256 | a36a118d92d83bbae6e2f99b0324478b23123467432e867da03b447c9c64c597 |
关闭
debian_parser-0.1.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5b4628985eabc133472dd4d387381e9c22a62d3ade500d90ba5e119801c6ce6f |
|
MD5 | 8b323909f4fee03e9ac28022450b192b |
|
BLAKE2b-256 | fc96a65fe9333efc45c7f2dfd27d1a0fca0d02ed52f433e97b088c4cc68895a9 |