Skip to content

Instantly share code, notes, and snippets.

@FrostyX
Created April 3, 2023 13:10
Show Gist options
  • Save FrostyX/47defa18348fbb917e73d7b2e7660ca2 to your computer and use it in GitHub Desktop.
Save FrostyX/47defa18348fbb917e73d7b2e7660ca2 to your computer and use it in GitHub Desktop.
"""
Print how many people were sponsored into the packager group
"""
import requests
import dateutil.parser
from requests.models import PreparedRequest
def prepare_url(page=1):
url = "https://apps.fedoraproject.org/datagrepper/v2/search"
params = {"category": "fas", "page": page,
"start": "2022-01-01", "end": "2023-04-03",
"topic": "org.fedoraproject.prod.fas.group.member.sponsor"}
request = PreparedRequest()
request.prepare_url(url, params)
return request.url
def print_message(message):
date = dateutil.parser.parse(message["headers"]["sent-at"])
packager = message["body"]["msg"]["user"]
sponsor = message["body"]["msg"]["agent"]
print("{0} | {1} | {2} -> {3}"
.format(date.year, date.month, sponsor, packager))
page = 1
while True:
url = prepare_url(page=page)
response = requests.get(url)
data = response.json()
# print("Page [{0}/{1}]".format(page, data["pages"]))
if page >= data["pages"]:
break
for message in data["raw_messages"]:
if message["body"]["msg"]["group"] != "packager":
continue
print_message(message)
page += 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment