Skip to content

Commit 162f239

Browse files
handle no repo error
1 parent 4315722 commit 162f239

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

codeflash/optimization/optimizer.py

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)