7 个版本
0.8.1 | 2022年11月15日 |
---|---|
0.8.0 | 2022年9月22日 |
0.7.1 | 2022年9月18日 |
0.7.0 | 2022年8月20日 |
0.6.2 | 2022年8月6日 |
#1181 in 解析器实现
每月 30 次下载
24KB
393 代码行
makedeb-srcinfo
makedeb-srcinfo
是一个 Rust 和 Python 库,用于解析 makedeb 样式的 .SRCINFO
文件。
该库本身是用 Rust 编写的,并通过 PyO3 和 Maturin 实现了 Python 绑定。
用法
安装
在开始使用之前,您需要安装此库。安装说明将根据您是否使用 Rust 或 Python 库而有所不同
Rust
cargo add makedeb-srcinfo
Python
pip install makedeb-srcinfo
使用库
Rust 和 Python 库设计得非常相似,两个接口都使用相同的函数/类名,只是语言本身的设计略有不同。
Rust
请参阅 Docs.rs 上的文档以获取完整的使用说明。
use makedeb_srcinfo::SrcInfo;
use std::fs;
fn main() {
let file = fs::read_to_string(".SRCINFO").unwrap();
let srcinfo = SrcInfo::new(&file).unwrap();
// Get the package base.
println!("The package base for this package is {}.", srcinfo.get_string("pkgbase").unwrap());
// Get any dependencies.
match srcinfo.get_array("makedepends") {
Some(makedepends) => {
println!("Found {} build dependencies:", makedepends.len());
for dep in makedepends {
println!("- {}", dep);
};
},
None => {
println!("Found no dependencies.");
}
}
}
Python
注意:目前需要帮助自动发布 Python 文档的新版本。如果您想帮忙,请参阅 https://github.com/makedeb/makedeb-srcinfo/issues/3。
#!/usr/bin/env python3
from makedeb_srcinfo import SrcInfo
with open(".SRCINFO") as file:
data = file.read()
srcinfo = SrcInfo(data)
# Get the package base.
pkgbase = srcinfo.get_string("pkgbase")
print(f"The package base for this package is {pkgbase}.")
# Get any dependencies.
makedepends = srcinfo.get_array("makedepends")
if len(makedepends) == 0:
print("Found no build dependencies.")
else:
print(f"Found {len(makedepends)} build dependencies:")
for dep in makedepends:
print(f"- {dep}")
依赖关系
~2.2–9MB
~66K SLoC