1414from ogr .services .github import GithubProject , GithubIssue
1515
1616
17- def get_closed_issues (project : GithubProject , tries = 10 , interval = 10 ) -> List [GithubIssue ]:
17+ def get_closed_issues (
18+ project : GithubProject , tries = 10 , interval = 10
19+ ) -> List [GithubIssue ]:
1820 last_ex = None
1921 for _ in range (tries ):
2022 try :
@@ -26,8 +28,9 @@ def get_closed_issues(project: GithubProject, tries=10, interval=10) -> List[Git
2628 else :
2729 raise last_ex
2830
31+
2932def is_counted (issue : GithubIssue ) -> bool :
30- if issue ._raw_issue .state_reason == ' not_planned' :
33+ if issue ._raw_issue .state_reason == " not_planned" :
3134 return False
3235 if not issue .assignees :
3336 return False
@@ -40,12 +43,13 @@ def get_week_representation(date_time) -> str:
4043 week_str = f"{ year } -{ week :02d} "
4144 return week_str
4245
43- def get_issue_value (issue : GithubIssue , labels : Tuple [str , int ], value_without_label = 0 ):
46+
47+ def get_issue_value (issue : GithubIssue , labels : Tuple [str , int ], value_without_label = 0 ):
4448 if not labels :
4549 return 1
4650
4751 issue_labels = [l .name for l in issue .labels ]
48- value : Optional [int ] = None
52+ value : Optional [int ] = None
4953 for label_name , label_value in labels :
5054 if label_name in issue_labels :
5155 value = label_value
@@ -57,8 +61,15 @@ def get_issue_value(issue: GithubIssue, labels: Tuple[str, int], value_without_l
5761 return value_without_label
5862
5963
60- def get_closed_issues_per_week (projects , service , interval = 0 , labels :Tuple [str ,int ]= None , value_without_label = 0 , since :datetime = None ):
61- since = since or (datetime .now () - timedelta (days = 365 * 3 ))
64+ def get_closed_issues_per_week (
65+ projects ,
66+ service ,
67+ interval = 0 ,
68+ labels : Tuple [str , int ] = None ,
69+ value_without_label = 0 ,
70+ since : datetime = None ,
71+ ):
72+ since = since or (datetime .now () - timedelta (days = 365 * 3 ))
6273 week_numbers = {}
6374 for week in get_week_numbers_since (since ):
6475 week_numbers [week ] = 0
@@ -72,7 +83,9 @@ def get_closed_issues_per_week(projects, service, interval=0, labels:Tuple[str,i
7283 continue
7384
7485 week_str = get_week_representation (issue ._raw_issue .closed_at )
75- value = get_issue_value (issue , labels , value_without_label = value_without_label )
86+ value = get_issue_value (
87+ issue , labels , value_without_label = value_without_label
88+ )
7689
7790 if week_str in week_numbers :
7891 week_numbers [week_str ] += value
@@ -83,7 +96,7 @@ def get_closed_issues_per_week(projects, service, interval=0, labels:Tuple[str,i
8396 return week_numbers
8497
8598
86- def get_week_numbers_since (since :datetime ) -> List [str ]:
99+ def get_week_numbers_since (since : datetime ) -> List [str ]:
87100 delta = timedelta (days = 7 )
88101
89102 current_date = datetime .now ()
@@ -94,53 +107,61 @@ def get_week_numbers_since(since:datetime) -> List[str]:
94107 return week_numbers
95108
96109
97- DEFAULT_PROJECTS = ['packit/ogr' ,
98- 'packit/requre' ,
99- 'packit/specfile' ,
100- 'packit/packit' ,
101- 'packit/research' ,
102- 'packit/weekly-roles' ,
103- 'packit/tokman' ,
104- 'packit/wait-for-copr' ,
105- 'packit/sandcastle' ,
106- 'packit/packit-service-zuul' ,
107- 'packit/packit-service-fedmsg' ,
108- 'packit/packit-service' ,
109- 'packit/dist-git-to-source-git' ,
110- 'packit/deployment' ,
111- 'packit/hardly' ,
112- 'packit/dashboard' ,
113- 'packit/packit.dev' ,
114- 'packit/private' ,
115- 'packit/packit-service-centosmsg' ]
110+ DEFAULT_PROJECTS = [
111+ "packit/ogr" ,
112+ "packit/requre" ,
113+ "packit/specfile" ,
114+ "packit/packit" ,
115+ "packit/research" ,
116+ "packit/weekly-roles" ,
117+ "packit/tokman" ,
118+ "packit/wait-for-copr" ,
119+ "packit/sandcastle" ,
120+ "packit/packit-service-zuul" ,
121+ "packit/packit-service-fedmsg" ,
122+ "packit/packit-service" ,
123+ "packit/dist-git-to-source-git" ,
124+ "packit/deployment" ,
125+ "packit/hardly" ,
126+ "packit/dashboard" ,
127+ "packit/packit.dev" ,
128+ "packit/private" ,
129+ "packit/packit-service-centosmsg" ,
130+ ]
116131
117132
118133@click .command (
119134 help = "Get the weekly number of issues closed" ,
120135)
121136@click .option (
122- "-t" , "--token" ,
137+ "-t" ,
138+ "--token" ,
123139 type = click .STRING ,
124140 help = "GitHub token" ,
125141)
126142@click .option (
127- "-s" , "--since" ,
143+ "-s" ,
144+ "--since" ,
128145 type = click .DateTime (),
129146 help = "Datetime to start the statistic." ,
130147)
131148@click .option (
132- "-l" , "--label" ,
133- nargs = 2 , type = click .Tuple ([str , int ]), multiple = True ,
149+ "-l" ,
150+ "--label" ,
151+ nargs = 2 ,
152+ type = click .Tuple ([str , int ]),
153+ multiple = True ,
134154 help = "Set values to labeled issues.\n "
135- "Later definition has priority.\n "
136- "Other issues not counted if set.\n "
137- "All returns 1 when not set.\n "
155+ "Later definition has priority.\n "
156+ "Other issues not counted if set.\n "
157+ "All returns 1 when not set.\n " ,
138158)
139159@click .option (
140160 "--value-without-label" ,
141- type = click .INT , default = 0 ,
161+ type = click .INT ,
162+ default = 0 ,
142163 help = "When label option is used,\n "
143- "this value is used for issues without particular label."
164+ "this value is used for issues without particular label." ,
144165)
145166@click .argument (
146167 "project" ,
@@ -179,12 +200,17 @@ def velocity(token, label, value_without_label, project):
179200 """
180201 project = project or DEFAULT_PROJECTS
181202
182- click .echo ("Projects:\n " + ' \n ' .join (f' * { p } ' for p in project ))
203+ click .echo ("Projects:\n " + " \n " .join (f" * { p } " for p in project ))
183204 if label :
184- click .echo (f"Labels:\n " + ' \n ' .join (f' * { l } : { v } ' for l , v in label ))
205+ click .echo (f"Labels:\n " + " \n " .join (f" * { l } : { v } " for l , v in label ))
185206
186- get_closed_issues_per_week (projects = project , service = GithubService (token = token ), labels = label , value_without_label = value_without_label )
207+ get_closed_issues_per_week (
208+ projects = project ,
209+ service = GithubService (token = token ),
210+ labels = label ,
211+ value_without_label = value_without_label ,
212+ )
187213
188214
189215if __name__ == "__main__" :
190- velocity (auto_envvar_prefix = ' TEAM_VELOCITY' )
216+ velocity (auto_envvar_prefix = " TEAM_VELOCITY" )
0 commit comments