-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIssuesJson.py
More file actions
47 lines (36 loc) · 1.38 KB
/
IssuesJson.py
File metadata and controls
47 lines (36 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import json
import gitlab
import variable
from datetime import datetime, timedelta
# GPL-3.0-only
#Création de deux type de JSON
#[✓]Le premier va etre un JSON qui liste le nombre d'issues créer par jour
#[✓~✗]Le second va etre un JSON qui liste le total d'issues créer par jour
def json_issues_number() -> json:
"""Cette fonction permet de créer le JSON du nombre d'issues ouverte et close.
Args:
None
Returns:
json: renvoie un JSON qui va après etre mis dans un fichier
"""
gl = gitlab.Gitlab(variable.GITLAB_URL, private_token=variable.ACCESS_TOKEN)
open_issues = gl.issues.list(state='opened')
closed_issues = gl.issues.list(state='closed')
curent_date = datetime.now().strftime("%Y-%m-%d")
issues_data = {
"date": curent_date,
"state": ["opened", "closed"],
"count": [len(open_issues), len(closed_issues)],
}
try:
with open("json/Issues/cumulate.json", "r") as file:
existing_data = json.load(file)
except (FileNotFoundError, json.JSONDecodeError):
existing_data = []
if isinstance(existing_data, list):
existing_data.append(issues_data)
else:
existing_data = [issues_data]
with open("json/Issues/cumulate.json", "w") as file:
json.dump(existing_data, file, indent=4)
return json.dumps(existing_data, indent=4)