mdtrooper / gitstats

git history statistics generator
http://gitstats.sourceforge.net/
0 stars 0 forks source link

Necromancy #1

Open mdtrooper opened 3 months ago

mdtrooper commented 3 months ago

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.

mdtrooper commented 3 months ago

I need a script to parsing github api to get all.

mdtrooper commented 3 months ago

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

mdtrooper commented 3 months ago

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

mdtrooper commented 3 months ago

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():
mdtrooper commented 3 months ago
mdtrooper commented 3 months ago

The git://github.com/pratikmallya/gitstats.git has not relevant changes.