diff --git a/codeflash/discovery/functions_to_optimize.py b/codeflash/discovery/functions_to_optimize.py index 792a9fcf..b4b54815 100644 --- a/codeflash/discovery/functions_to_optimize.py +++ b/codeflash/discovery/functions_to_optimize.py @@ -30,6 +30,8 @@ from codeflash.telemetry.posthog_cf import ph if TYPE_CHECKING: + from argparse import Namespace + from libcst import CSTNode from libcst.metadata import CodeRange @@ -423,7 +425,7 @@ def inspect_top_level_functions_or_methods( def was_function_previously_optimized( - function_to_optimize: FunctionToOptimize, code_context: CodeOptimizationContext + function_to_optimize: FunctionToOptimize, code_context: CodeOptimizationContext, args: Namespace ) -> bool: """Check which functions have already been optimized and filter them out. @@ -445,7 +447,7 @@ def was_function_previously_optimized( owner, repo = None, None pr_number = get_pr_number() - if not owner or not repo or pr_number is None: + if not owner or not repo or pr_number is None or getattr(args, "no_pr", False): return False code_contexts = [] diff --git a/codeflash/optimization/function_optimizer.py b/codeflash/optimization/function_optimizer.py index 8772bb9e..46d94476 100644 --- a/codeflash/optimization/function_optimizer.py +++ b/codeflash/optimization/function_optimizer.py @@ -170,7 +170,7 @@ def can_be_optimized(self) -> Result[tuple[bool, CodeOptimizationContext, dict[P # last time we could not find an optimization, maybe this time we do. # Random is before as a performance optimization, swapping the two 'and' statements has the same effect if random.random() > REPEAT_OPTIMIZATION_PROBABILITY and was_function_previously_optimized( # noqa: S311 - self.function_to_optimize, code_context + self.function_to_optimize, code_context, self.args ): return Failure("Function optimization previously attempted, skipping.")