用于Datagrepper的Python客户端
项目描述
此库充当访问[Datagrepper](https://apps.fedoraproject.org/datagrepper/)的精彩[requests](https://python-requests.org)库的包装器。
要求
Python 3.3+
[requests](https://python-requests.org)
用法
API设计为可链式。首先,创建一个新的Grepper
>>> from datanozzle import Grepper >>> g = Grepper() >>>
然后,您可以通过链式调用方法构建查询(每个新方法返回一个新的查询对象,因此您可以重用部分构建的查询)
>>> q1 = g.by_user('sross').ascending >>> q2 = q1.by_topic('org.fedoraproject.prod.fedbadges.person.rank.advance') >>>
查询在迭代评估之前不会执行(库将自动继续获取新页面的信息)。每个记录作为Entry返回,它有几个持久字段(作为属性访问),以及以字典方式提供的数据
>>> entry = next(iter(q2.take(pages=1))) >>> entry.topic 'org.fedoraproject.prod.fedbadges.person.rank.advance' >>> entry.timestamp datetime.datetime(2015, 1, 16, 15, 2, 5) >>> entry['person']['nickname'] 'sross' >>>
大多数查询可以支持多个值。您可以传递多个值,例如 g.by_user(‘sross’,‘someuser’) 或链式调用,例如 g.by_user(‘sross’).by_user(‘someuser’)。要获取具有参数重置的查询,请调用 reset(parameter_name),例如 g.reset(‘user’)。
查询
by_user(*users):按FAS用户名筛选
without_user(*users):by_user的逆
by_package(*packages):按包名筛选
without_package(*packages):by_package的逆
by_category(*categories):按类别筛选(主题的第三或第四部分)
without_category(*categories):by_category的逆
by_topic(*topics):按主题筛选
without_topic(*topics):by_topic的逆
containing(substring):按消息中的关键字筛选
paginate(rows): 设置每页的行数
with_meta(*meta_type): 在结果中返回额外的元信息
grouped (属性): 将相似的结果分组在一起
ascending (属性): 按升序排序结果
descending (属性): 按降序排序结果
take(pages): 只返回前pages页的结果
skip(pages): 跳过前pages页
starting_at(start): 返回给定日期/时间之后的结果
ending_at(end): 返回给定日期/时间之前的结果
delta_seconds(delta): 通过delta秒修改开始/结束时间
数据属性
certificate: 包含证书的字符串
signature: 包含签名的字符串
meta: 包含额外元信息的字典
index: 消息索引
timestamp: 包含对象时间戳的datetime
topic: 消息的主题
项目详情
datanozzle-0.9.0.tgz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d24ae11d24b47b626da9316537a737898191fd275183cc4f5c2209b7365f669a |
|
MD5 | 8e7f7e9bc2b924cf13057073e24efbc6 |
|
BLAKE2b-256 | a363956ac15c7564d4a01fdfe692beb50700f763c00f44abb83616cdb3c59568 |