跳转到主要内容

用于Datagrepper的Python客户端

项目描述

此库充当访问[Datagrepper](https://apps.fedoraproject.org/datagrepper/)的精彩[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 (10.1 kB 查看哈希值)

支持者