From 4f3632bc6b70c91b7af99d94f81e86462f45f925 Mon Sep 17 00:00:00 2001 From: Roland Thomas Date: Sat, 24 May 2025 15:09:39 -0400 Subject: [PATCH] Remove emojis from logging statements --- falyx/action/action.py | 12 ++++++------ falyx/action/http_action.py | 2 +- falyx/action/select_file_action.py | 2 +- falyx/command.py | 2 +- falyx/context.py | 4 ++-- falyx/debug.py | 8 ++++---- falyx/falyx.py | 12 ++++++------ falyx/hook_manager.py | 2 +- falyx/hooks.py | 10 +++++----- falyx/parsers/utils.py | 2 +- falyx/retry.py | 18 +++++++++--------- falyx/version.py | 2 +- pyproject.toml | 2 +- 13 files changed, 39 insertions(+), 39 deletions(-) diff --git a/falyx/action/action.py b/falyx/action/action.py index c872d63..0f0d130 100644 --- a/falyx/action/action.py +++ b/falyx/action/action.py @@ -149,7 +149,7 @@ class BaseAction(ABC): if self.inject_last_result and self.shared_context: key = self.inject_into if key in kwargs: - logger.warning("[%s] ⚠️ Overriding '%s' with last_result", self.name, key) + logger.warning("[%s] Overriding '%s' with last_result", self.name, key) kwargs = dict(kwargs) kwargs[key] = self.shared_context.last_result() return kwargs @@ -278,7 +278,7 @@ class Action(BaseAction): context.exception = error await self.hooks.trigger(HookType.ON_ERROR, context) if context.result is not None: - logger.info("[%s] ✅ Recovered: %s", self.name, self.name) + logger.info("[%s] Recovered: %s", self.name, self.name) return context.result raise finally: @@ -518,7 +518,7 @@ class ChainedAction(BaseAction, ActionListMixin): for index, action in enumerate(self.actions): if action._skip_in_chain: logger.debug( - "[%s] ⚠️ Skipping consumed action '%s'", self.name, action.name + "[%s] Skipping consumed action '%s'", self.name, action.name ) continue shared_context.current_index = index @@ -530,7 +530,7 @@ class ChainedAction(BaseAction, ActionListMixin): self.actions[index + 1], FallbackAction ): logger.warning( - "[%s] ⚠️ Fallback triggered: %s, recovering with fallback " + "[%s] Fallback triggered: %s, recovering with fallback " "'%s'.", self.name, error, @@ -585,10 +585,10 @@ class ChainedAction(BaseAction, ActionListMixin): rollback = getattr(action, "rollback", None) if rollback: try: - logger.warning("[%s] ↩️ Rolling back...", action.name) + logger.warning("[%s] Rolling back...", action.name) await action.rollback(*args, **kwargs) except Exception as error: - logger.error("[%s] ⚠️ Rollback failed: %s", action.name, error) + logger.error("[%s] Rollback failed: %s", action.name, error) def register_hooks_recursively(self, hook_type: HookType, hook: Hook): """Register a hook for all actions and sub-actions.""" diff --git a/falyx/action/http_action.py b/falyx/action/http_action.py index b310a76..7d51c6b 100644 --- a/falyx/action/http_action.py +++ b/falyx/action/http_action.py @@ -28,7 +28,7 @@ async def close_shared_http_session(context: ExecutionContext) -> None: if session and should_close: await session.close() except Exception as error: - logger.warning("⚠️ Error closing shared HTTP session: %s", error) + logger.warning("Error closing shared HTTP session: %s", error) class HTTPAction(Action): diff --git a/falyx/action/select_file_action.py b/falyx/action/select_file_action.py index 03013bc..15f8665 100644 --- a/falyx/action/select_file_action.py +++ b/falyx/action/select_file_action.py @@ -119,7 +119,7 @@ class SelectFileAction(BaseAction): description=file.name, value=value, style=self.style ) except Exception as error: - logger.warning("[ERROR] Failed to parse %s: %s", file.name, error) + logger.error("Failed to parse %s: %s", file.name, error) return options def _find_cancel_key(self, options) -> str: diff --git a/falyx/command.py b/falyx/command.py index deb6bc5..0e67346 100644 --- a/falyx/command.py +++ b/falyx/command.py @@ -245,7 +245,7 @@ class Command(BaseModel): if self.preview_before_confirm: await self.preview() if not await confirm_async(self.confirmation_prompt): - logger.info("[Command:%s] ❌ Cancelled by user.", self.key) + logger.info("[Command:%s] Cancelled by user.", self.key) raise CancelSignal(f"[Command:{self.key}] Cancelled by confirmation.") context.start_timer() diff --git a/falyx/context.py b/falyx/context.py index 49a3f2f..93e6bd1 100644 --- a/falyx/context.py +++ b/falyx/context.py @@ -140,9 +140,9 @@ class ExecutionContext(BaseModel): message.append(f"Duration: {summary['duration']:.3f}s | ") if summary["exception"]: - message.append(f"❌ Exception: {summary['exception']}") + message.append(f"Exception: {summary['exception']}") else: - message.append(f"✅ Result: {summary['result']}") + message.append(f"Result: {summary['result']}") (logger or self.console.print)("".join(message)) def to_log_line(self) -> str: diff --git a/falyx/debug.py b/falyx/debug.py index 5e96036..5e597a8 100644 --- a/falyx/debug.py +++ b/falyx/debug.py @@ -10,7 +10,7 @@ def log_before(context: ExecutionContext): args = ", ".join(map(repr, context.args)) kwargs = ", ".join(f"{k}={v!r}" for k, v in context.kwargs.items()) signature = ", ".join(filter(None, [args, kwargs])) - logger.info("[%s] 🚀 Starting → %s(%s)", context.name, context.action, signature) + logger.info("[%s] Starting → %s(%s)", context.name, context.action, signature) def log_success(context: ExecutionContext): @@ -18,18 +18,18 @@ def log_success(context: ExecutionContext): result_str = repr(context.result) if len(result_str) > 100: result_str = f"{result_str[:100]} ..." - logger.debug("[%s] ✅ Success → Result: %s", context.name, result_str) + logger.debug("[%s] Success → Result: %s", context.name, result_str) def log_after(context: ExecutionContext): """Log the completion of an action, regardless of success or failure.""" - logger.debug("[%s] ⏱️ Finished in %.3fs", context.name, context.duration) + logger.debug("[%s] Finished in %.3fs", context.name, context.duration) def log_error(context: ExecutionContext): """Log an error that occurred during the action.""" logger.error( - "[%s] ❌ Error (%s): %s", + "[%s] Error (%s): %s", context.name, type(context.exception).__name__, context.exception, diff --git a/falyx/falyx.py b/falyx/falyx.py index c8db59c..fb89a67 100644 --- a/falyx/falyx.py +++ b/falyx/falyx.py @@ -852,7 +852,7 @@ class Falyx: self.last_run_command = selected_command if selected_command == self.exit_command: - logger.info("🔙 Back selected: exiting %s", self.get_title()) + logger.info("Back selected: exiting %s", self.get_title()) return False context = self._create_context(selected_command) @@ -895,7 +895,7 @@ class Falyx: return None logger.info( - "[run_key] 🚀 Executing: %s — %s", + "[run_key] Executing: %s — %s", selected_command.key, selected_command.description, ) @@ -908,10 +908,10 @@ class Falyx: context.result = result await self.hooks.trigger(HookType.ON_SUCCESS, context) - logger.info("[run_key] ✅ '%s' complete.", selected_command.description) + logger.info("[run_key] '%s' complete.", selected_command.description) except (KeyboardInterrupt, EOFError) as error: logger.warning( - "[run_key] ⚠️ Interrupted by user: %s", selected_command.description + "[run_key] Interrupted by user: %s", selected_command.description ) raise FalyxError( f"[run_key] ⚠️ '{selected_command.description}' interrupted by user." @@ -920,7 +920,7 @@ class Falyx: context.exception = error await self.hooks.trigger(HookType.ON_ERROR, context) logger.error( - "[run_key] ❌ Failed: %s — %s: %s", + "[run_key] Failed: %s — %s: %s", selected_command.description, type(error).__name__, error, @@ -1024,7 +1024,7 @@ class Falyx: logging.getLogger("falyx").setLevel(logging.DEBUG) if self.cli_args.debug_hooks: - logger.debug("✅ Enabling global debug hooks for all commands") + logger.debug("Enabling global debug hooks for all commands") self.register_all_with_debug_hooks() if self.cli_args.command == "list": diff --git a/falyx/hook_manager.py b/falyx/hook_manager.py index c2d5602..a8214e0 100644 --- a/falyx/hook_manager.py +++ b/falyx/hook_manager.py @@ -65,7 +65,7 @@ class HookManager: hook(context) except Exception as hook_error: logger.warning( - "⚠️ Hook '%s' raised an exception during '%s' for '%s': %s", + "[Hook:%s] raised an exception during '%s' for '%s': %s", hook.__name__, hook_type, context.name, diff --git a/falyx/hooks.py b/falyx/hooks.py index dbd4435..439daff 100644 --- a/falyx/hooks.py +++ b/falyx/hooks.py @@ -56,10 +56,10 @@ class CircuitBreaker: if self.open_until: if time.time() < self.open_until: raise CircuitBreakerOpen( - f"🔴 Circuit open for '{name}' until {time.ctime(self.open_until)}." + f"Circuit open for '{name}' until {time.ctime(self.open_until)}." ) else: - logger.info("🟢 Circuit closed again for '%s'.") + logger.info("Circuit closed again for '%s'.") self.failures = 0 self.open_until = None @@ -67,7 +67,7 @@ class CircuitBreaker: name = context.name self.failures += 1 logger.warning( - "⚠️ CircuitBreaker: '%s' failure %s/%s.", + "CircuitBreaker: '%s' failure %s/%s.", name, self.failures, self.max_failures, @@ -75,7 +75,7 @@ class CircuitBreaker: if self.failures >= self.max_failures: self.open_until = time.time() + self.reset_timeout logger.error( - "🔴 Circuit opened for '%s' until %s.", name, time.ctime(self.open_until) + "Circuit opened for '%s' until %s.", name, time.ctime(self.open_until) ) def after_hook(self, _: ExecutionContext): @@ -87,4 +87,4 @@ class CircuitBreaker: def reset(self): self.failures = 0 self.open_until = None - logger.info("🔄 Circuit reset.") + logger.info("Circuit reset.") diff --git a/falyx/parsers/utils.py b/falyx/parsers/utils.py index 194f687..6f38746 100644 --- a/falyx/parsers/utils.py +++ b/falyx/parsers/utils.py @@ -1,6 +1,6 @@ from typing import Any -from falyx import logger +from falyx.logger import logger from falyx.parsers.signature import infer_args_from_func diff --git a/falyx/retry.py b/falyx/retry.py index 00b5a66..39e3759 100644 --- a/falyx/retry.py +++ b/falyx/retry.py @@ -53,7 +53,7 @@ class RetryHandler: self.policy.delay = delay self.policy.backoff = backoff self.policy.jitter = jitter - logger.info("🔄 Retry policy enabled: %s", self.policy) + logger.info("Retry policy enabled: %s", self.policy) async def retry_on_error(self, context: ExecutionContext) -> None: from falyx.action import Action @@ -67,21 +67,21 @@ class RetryHandler: last_error = error if not target: - logger.warning("[%s] ⚠️ No action target. Cannot retry.", name) + logger.warning("[%s] No action target. Cannot retry.", name) return None if not isinstance(target, Action): logger.warning( - "[%s] ❌ RetryHandler only supports only supports Action objects.", name + "[%s] RetryHandler only supports only supports Action objects.", name ) return None if not getattr(target, "is_retryable", False): - logger.warning("[%s] ❌ Not retryable.", name) + logger.warning("[%s] Not retryable.", name) return None if not self.policy.enabled: - logger.warning("[%s] ❌ Retry policy is disabled.", name) + logger.warning("[%s] Retry policy is disabled.", name) return None while retries_done < self.policy.max_retries: @@ -92,7 +92,7 @@ class RetryHandler: sleep_delay += random.uniform(-self.policy.jitter, self.policy.jitter) logger.info( - "[%s] 🔄 Retrying (%s/%s) in %ss due to '%s'...", + "[%s] Retrying (%s/%s) in %ss due to '%s'...", name, retries_done, self.policy.max_retries, @@ -104,13 +104,13 @@ class RetryHandler: result = await target.action(*context.args, **context.kwargs) context.result = result context.exception = None - logger.info("[%s] ✅ Retry succeeded on attempt %s.", name, retries_done) + logger.info("[%s] Retry succeeded on attempt %s.", name, retries_done) return None except Exception as retry_error: last_error = retry_error current_delay *= self.policy.backoff logger.warning( - "[%s] ⚠️ Retry attempt %s/%s failed due to '%s'.", + "[%s] Retry attempt %s/%s failed due to '%s'.", name, retries_done, self.policy.max_retries, @@ -118,4 +118,4 @@ class RetryHandler: ) context.exception = last_error - logger.error("[%s] ❌ All %s retries failed.", name, self.policy.max_retries) + logger.error("[%s] All %s retries failed.", name, self.policy.max_retries) diff --git a/falyx/version.py b/falyx/version.py index 2b033f6..8577c83 100644 --- a/falyx/version.py +++ b/falyx/version.py @@ -1 +1 @@ -__version__ = "0.1.35" +__version__ = "0.1.36" diff --git a/pyproject.toml b/pyproject.toml index dd82ae0..d27828b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "falyx" -version = "0.1.35" +version = "0.1.36" description = "Reliable and introspectable async CLI action framework." authors = ["Roland Thomas Jr "] license = "MIT"