25 lines
620 B
Python
25 lines
620 B
Python
|
"""
|
||
|
Generate a CSV file with daily stats commit count from a set of repositories
|
||
|
"""
|
||
|
|
||
|
from git import Repo
|
||
|
import datetime
|
||
|
|
||
|
REPO = "."
|
||
|
|
||
|
repo = Repo(REPO)
|
||
|
|
||
|
def repo_daily_commits(repo: Repo, year: int):
|
||
|
"""Count how many commit was performed for each days in the year"""
|
||
|
data = {}
|
||
|
for commit in repo.iter_commits(all=True):
|
||
|
timestamp = commit.authored_date
|
||
|
date = datetime.date.fromtimestamp(timestamp)
|
||
|
if int(date.year) != year:
|
||
|
continue
|
||
|
if date not in data:
|
||
|
data[date] = 0
|
||
|
data[date] += 1
|
||
|
return data
|
||
|
|
||
|
print(repo_daily_commits(repo, 2023))
|