|
- import sys
- import os
- import requests
- import json
- import os
-
- from datetime import datetime
-
- TOKEN = os.environ["GITEA_API_KEY"]
-
- def grab(url):
- r = requests.get(url, headers = {
- "authorization": "token " + TOKEN
- })
-
- if r.status_code != 200:
- print(url)
- print("oops...")
- print(r.text)
- sys.exit(1)
-
- return json.loads(r.text)
-
- url = "https://git.crux.best/api/v1/repos/chemicalcrux/{0}/releases".format(sys.argv[1])
-
- tag = grab(url)[0]["tag_name"]
-
- url = "https://git.crux.best/api/v1/repos/chemicalcrux/{0}/commits?sha={1}".format(sys.argv[1], tag)
-
- data = grab(url)[1:]
-
- results = []
- for commit in data:
- result = {}
- lines = commit["commit"]["message"].split("\n")
- subject = lines[0]
- body = "\n".join(lines[2:])
-
- result["date"] = datetime.fromisoformat(commit["commit"]["author"]["date"]).strftime("%B %d")
- result["subject"] = subject
- result["body"] = body
- results.append(result)
-
- with open(sys.argv[2], "w", encoding="utf-8") as file:
- json.dump(results[::-1], file)
|