@@ -63,6 +63,7 @@ def get_package_info(package: str) -> dict:
63
63
# "django" converts to "Django" on redirect
64
64
r = requests .get (f"https://pypi.org/pypi/{ package } /json" , allow_redirects = True ) # noqa: S113
65
65
if not r .ok :
66
+ print (f"Couldn't find package: { package } " )
66
67
sys .exit (1 )
67
68
return r .json ()
68
69
@@ -95,12 +96,14 @@ def get_all_latest_django_versions(
95
96
if django_max_version :
96
97
_django_max_version = django_max_version
97
98
99
+ print ("Fetching all Django versions from PyPI" )
98
100
base_txt = REQUIREMENTS_DIR / "base.txt"
99
101
with base_txt .open () as f :
100
102
for line in f .readlines ():
101
103
if "django==" in line .lower ():
102
104
break
103
105
else :
106
+ print (f"django not found in { base_txt } " ) # Huh...?
104
107
sys .exit (1 )
105
108
106
109
# Begin parsing and verification
@@ -149,6 +152,7 @@ def setup(self) -> None:
149
152
self .load_existing_issues ()
150
153
151
154
def load_requirements (self ):
155
+ print ("Reading requirements" )
152
156
for requirements_file in self .requirements_files :
153
157
with (REQUIREMENTS_DIR / f"{ requirements_file } .txt" ).open () as f :
154
158
for line in f .readlines ():
@@ -167,6 +171,7 @@ def load_requirements(self):
167
171
168
172
def load_existing_issues (self ):
169
173
"""Closes the issue if the base Django version is greater than needed"""
174
+ print ("Load existing issues from GitHub" )
170
175
qualifiers = {
171
176
"repo" : GITHUB_REPO ,
172
177
"author" : "app/github-actions" ,
@@ -175,6 +180,7 @@ def load_existing_issues(self):
175
180
"in" : "title" ,
176
181
}
177
182
issues = list (self .github .search_issues ("[Django Update]" , "created" , "desc" , ** qualifiers ))
183
+ print (f"Found { len (issues )} issues matching search" )
178
184
for issue in issues :
179
185
matches = re .match (r"\[Update Django] Django (\d+.\d+)$" , issue .title )
180
186
if not matches :
@@ -258,18 +264,23 @@ def generate_markdown(self, needed_dj_version: DjVersion):
258
264
259
265
def create_or_edit_issue (self , needed_dj_version : DjVersion , description : str ):
260
266
if issue := self .existing_issues .get (needed_dj_version ):
267
+ print (f"Editing issue #{ issue .number } for Django { needed_dj_version } " )
261
268
issue .edit (body = description )
262
269
else :
270
+ print (f"Creating new issue for Django { needed_dj_version } " )
263
271
issue = self .repo .create_issue (f"[Update Django] Django { needed_dj_version } " , description )
264
272
issue .add_to_labels (f"django{ needed_dj_version } " )
265
273
266
274
@staticmethod
267
275
def close_issue (issue : Issue ):
268
276
issue .edit (state = "closed" )
277
+ print (f"Closed issue { issue .title } (ID: [{ issue .id } ]({ issue .url } ))" )
269
278
270
279
def generate (self ):
271
280
for version in self .needed_dj_versions :
281
+ print (f"Handling GitHub issue for Django { version } " )
272
282
md_content = self .generate_markdown (version )
283
+ print (f"Generated markdown:\n \n { md_content } " )
273
284
self .create_or_edit_issue (version , md_content )
274
285
275
286
@@ -282,6 +293,7 @@ def main(django_max_version=None) -> None:
282
293
manager .setup ()
283
294
284
295
if not latest_djs :
296
+ print ("No new Django versions to update. Exiting..." )
285
297
sys .exit (0 )
286
298
287
299
manager .generate ()
0 commit comments