Open mdtrooper opened 3 months ago
I need a script to parsing github api to get all.
I have the python script:
import requests
from operator import itemgetter
import json
url = "https://api.github.com/repos/hoxu/gitstats/forks"
bearer_token="foobar"
headers = {"Authorization": f"Bearer {bearer_token}"}
forks = []
page=1
page=1
while True:
params = {'page': page, 'per_page': 10}
print(f"Get forks {page}")
r = requests.get(url, params=params)
r.raise_for_status()
f = r.json()
if not f:
break
forks.extend(r.json())
page +=1
older_forks = sorted(forks, key=itemgetter('updated_at'))
with open("/tmp/forks.json", "w") as f: f.write(json.dumps(older_forks))
And the json files is forks.json
Other python script to generate csv:
import pandas
forks = pandas.read_json("/tmp/forks.json")
fork_git_update = pandas.DataFrame(forks[["git_url", "updated_at"]]
fork_git_update['updated_at'] = fork_git_update['updated_at'].dt.strftime('%Y/%m/%d')
fork_git_update.to_csv("/tmp/forks.csv", index=False)
And a csv is forks.csv
And a tiny script to get a checklist in markdown format:
import pandas
forks = pandas.read_json("/tmp/forks.json")
fork_git_update = pandas.DataFrame(forks[["git_url", "updated_at"]]
fork_git_update['updated_at'] = fork_git_update['updated_at'].dt.strftime('%Y/%m/%d')
fork_git_update.to_csv("/tmp/forks.csv", index=False)
with open("/tmp/foobar.md", "w") as md:
for i in fork_git_update.iterrows():
The git://github.com/pratikmallya/gitstats.git has not relevant changes.
Gitstats have a lot of forks (around 481). And it is dead from last 9 years.
I need to check all for the forks (reverse sort from the old to the new).
And bring the good changes to the main branch again.