1111import traceback
1212from pathlib import Path
1313from textwrap import dedent
14+ from typing import Generator , Optional
1415
1516import git
1617import mock
@@ -117,12 +118,12 @@ def _compute_pwd_changes(allowlist):
117118 print ("== pwd" , os .getcwd ())
118119 print ("== listdir" , os .listdir ())
119120
120- for p in glob .glob ("**/*.py" , recursive = True ):
121- print ("=== scanning" , p , p in allowlist )
122- if p not in allowlist :
121+ for path in glob .glob ("**/*.py" , recursive = True ):
122+ print ("=== scanning" , path , path in allowlist )
123+ if path not in allowlist :
123124 # we don't touch files not in this PR.
124125 continue
125- p = Path (p )
126+ p = Path (path )
126127 old = p .read_text ()
127128 new = black .format_str (old , mode = black .FileMode ())
128129 if new != old :
@@ -309,7 +310,9 @@ def black_suggest(*, session, payload, arguments, local_config=None):
309310 print ("== Done cleaning " )
310311
311312
312- def prep_for_command (name , session , payload , arguments , local_config = None ):
313+ def prep_for_command (
314+ name : str , session : Session , payload : dict , arguments : str , local_config : Optional [dict ] = None
315+ ) -> Generator :
313316 """Prepare to run a command against a local checkout of a repo."""
314317 print (f"===== running command { name } =====" )
315318 print ("===== ============ =====" )
@@ -335,8 +338,11 @@ def prep_for_command(name, session, payload, arguments, local_config=None):
335338 repo_name = pr_data ["head" ]["repo" ]["name" ]
336339 maintainer_can_modify = pr_data ["maintainer_can_modify" ]
337340
341+ print (f"Got author login { author_login } " )
342+
338343 # Check to see if we can successfully push changees to the PR.
339344 target_session = yield "{}/{}" .format (author_login , repo_name )
345+
340346 if target_session :
341347 print ("installed on target repository" )
342348 atk = target_session .token ()
@@ -429,7 +435,9 @@ def push_the_work(session, payload, arguments, local_config=None):
429435
430436
431437@admin
432- def precommit (* , session , payload , arguments , local_config = None ):
438+ def precommit (
439+ * , session : Session , payload : dict , arguments : str , local_config : Optional [dict ] = None
440+ ) -> Generator :
433441 comment_url = payload ["issue" ]["comments_url" ]
434442
435443 """Run pre-commit against a PR and push the changes."""
@@ -602,12 +610,13 @@ def safe_backport(session, payload, arguments, local_config=None):
602610
603611 print = lambda * args , ** kwargs : builtins .print (" [backport]" , * args , ** kwargs )
604612
605- s_clone_time = 0
613+ s_clone_time = 0.0
606614 s_success = False
607615 s_reason = "unknown"
608- s_fork_time = 0
609- s_clean_time = 0
610- s_ff_time = 0
616+ s_fork_time = 0.0
617+ s_clean_time = 0.0
618+ s_ff_time = 0.0
619+ s_slug = ""
611620
612621 def keen_stats ():
613622 nonlocal s_slug
@@ -816,7 +825,7 @@ def keen_stats():
816825 print ("== All has been fetched correctly" )
817826
818827 print ("Cherry-picking %s" % merge_sha )
819- args = ("-x" , "-m" , "1" , merge_sha )
828+ args : tuple = ("-x" , "-m" , "1" , merge_sha )
820829
821830 msg = "Backport PR #%i: %s" % (prnumber , prtitle )
822831 remote_submit_branch = f"auto-backport-of-pr-{ prnumber } -on-{ target_branch } "
@@ -925,7 +934,10 @@ def keen_stats():
925934 session .post_comment (
926935 comment_url , "Hum, I actually crashed, that should not have happened."
927936 )
928- print ("\n " + e .stderr .decode ("utf8" , "replace" ), file = sys .stderr )
937+ if hasattr (e , "stderr" ):
938+ print (
939+ "\n " + e .stderr .decode ("utf8" , "replace" ), file = sys .stderr
940+ ) # type:ignore[attr-defined]
929941 print ("\n " + repo .git .status (), file = sys .stderr )
930942 add_event ("error" , {"git_crash" : 1 })
931943 s_reason = "Unknown error line 501"
@@ -1133,7 +1145,9 @@ def untag(session, payload, arguments, local_config=None):
11331145
11341146
11351147@write
1136- def migrate_issue_request (* , session : Session , payload : dict , arguments : str , local_config = None ):
1148+ def migrate_issue_request (
1149+ * , session : Session , payload : dict , arguments : str , local_config : Optional [dict ] = None
1150+ ) -> Generator :
11371151 """Todo:
11381152
11391153 - Works through pagination of comments
0 commit comments