解析OPML订阅列表
项目描述
listparser
在Python中解析OPML订阅列表。
如果您正在构建一个聚合阅读器并且需要解析OPML订阅列表,您就来到了正确的位置!
listparser使得轻松解析和使用多种格式的订阅列表变得简单。它支持OPML、RDF+FOAF以及iGoogle导出的设置格式,并且可在Python 3.8+和PyPy 3.8上运行。
使用方法
>>> import listparser
>>> result = listparser.parse(open("feeds.opml").read())
将返回一个包含几个键的字典
meta:订阅列表信息的字典
feeds:一系列的源
lists:一系列的订阅列表
version:格式标识符,如“opml2”
bozo:如果列表存在问题,则为True,否则为False
bozo_exception:(如果< span class="docutils literal">bozo 为1)问题描述
为了方便,结果字典支持对其键的属性访问。
继续示例
>>> result.meta.title
'listparser project feeds'
>>> len(result.feeds)
2
>>> result.feeds[0].title, result.feeds[0].url
('listparser blog', 'https://kurtmckee.org/tag/listparser')
更详细的文档可以在docs/目录中找到,也可以在线查看。
错误
难免会有错误。处理它们最好的方法是隔离出最简单的可能文档来找出错误,将该文档作为测试用例添加,然后找到并修复问题。
…你还可以只是报告错误,让其他人来解决问题,但这对你来说可能不会那么有趣!
Git工作流程
listparser基本上遵循git-flow方法
功能和更改在main分支的分支上开发。它们合并回main分支。
特性版本分支从main分支分离。项目元数据(如版本和版权年份)更新后,发布分支合并到releases分支。然后对releases分支进行标记,并将其合并回main。
热修复分支从releases分支分离。与特性版本一样,项目元数据更新,热修复分支合并回releases分支,然后对其进行标记并合并回main。
开发
要设置开发环境,请在命令行中按照以下步骤操作
# Set up a virtual environment.
python -m venv .venv
# Activate the virtual environment in Linux:
. .venv/bin/activate
# ...or in Windows Powershell:
& .venv/Scripts/Activate.ps1
# Install dependencies.
python -m pip install -U pip setuptools wheel
python -m pip install poetry pre-commit tox scriv
poetry install --all-extras
# Enable pre-commit.
pre-commit install
# Run the unit tests.
tox
提交PR时,务必创建和编辑变更日志片段。
scriv create
变更日志片段将创建在changelog.d/目录中。编辑文件以描述你所做的更改。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
listparser-0.20.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0dda5b41ca9531fc3c438eb4abf4d8a7cf03ef050d196875993e897a66c1f885 |
|
MD5 | 58fe7f8e2359e8b35b0dcbae46e368eb |
|
BLAKE2b-256 | beeed9f02600955ca34baf73e824d64b181b412745ed448a0ad1a92cef81115b |
listparser-0.20-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5daae9895b75191a77b14f5b8eabf7a63a4ca440f215d9bd8d8e5a2eccde02ce |
|
MD5 | f1ea45d54913852a62ca2d18c741b261 |
|
BLAKE2b-256 | c927bd96818acce8ed1909dff29817096016f5e958ef646a377b34d55afa23b3 |