@@ -91,19 +91,9 @@ def run(self) -> None:
9191 if not env_utils .check_formatter_installed (self .args .formatter_cmds ):
9292 return
9393
94- repo = git .Repo (search_parent_directories = True )
95- owner , repo_name = get_repo_owner_and_name (repo )
96-
97- pr_number = get_pr_number ()
98- if pr_number is not None :
99- pr_info = cfapi .get_pr_info (owner , repo_name , pr_number )
100- if pr_info is None :
101- logger .warning (f"Could not find { owner } /{ repo } #{ pr_number } ." )
102- return
103- is_draft = pr_info ["draft" ]
104- if is_draft :
105- logger .warning ("PR is in draft mode, skipping optimization" )
106- return
94+ if is_pr_draft ():
95+ logger .warning ("PR is in draft mode, skipping optimization" )
96+ return
10797
10898 function_optimizer = None
10999 file_to_funcs_to_optimize : dict [Path , list [FunctionToOptimize ]]
@@ -320,3 +310,21 @@ def run_with_args(args: Namespace) -> None:
320310 optimizer .cleanup_temporary_paths ()
321311
322312 raise SystemExit from None
313+
314+
315+ def is_pr_draft () -> bool :
316+ try :
317+ repo = git .Repo (search_parent_directories = True )
318+ owner , repo_name = get_repo_owner_and_name (repo )
319+
320+ pr_number = get_pr_number ()
321+ if pr_number is not None :
322+ pr_info = cfapi .get_pr_info (owner , repo_name , pr_number )
323+ if pr_info is None :
324+ logger .warning (f"Could not find { owner } /{ repo } #{ pr_number } ." )
325+ return False
326+ is_draft = pr_info ["draft" ]
327+ if is_draft :
328+ return True
329+ except git .exc .InvalidGitRepositoryError :
330+ return False
0 commit comments