MCPcopy Create free account
hub / github.com/OpenOSINT/OpenOSINT / _handle_history

Function _handle_history

openosint/cli.py:627–668  ·  view source on GitHub ↗
(args: argparse.Namespace)

Source from the content-addressed store, hash-verified

625
626
627def _handle_history(args: argparse.Namespace) -> None:
628 import sys as _sys
629
630 from rich.console import Console as _Console
631
632 from openosint.session_history import (
633 clear_sessions,
634 display_history_table,
635 display_session_detail,
636 load_sessions,
637 )
638
639 _console = _Console()
640 action = getattr(args, "history_action", None)
641
642 if action == "open":
643 sessions = load_sessions()
644 n = args.n
645 if n < 1 or n > len(sessions):
646 _console.print(
647 f"[bold red]Error:[/] Session {n} not found (total saved: {len(sessions)})"
648 )
649 _sys.exit(1)
650 display_session_detail(sessions[n - 1], n, _console)
651
652 elif action == "clear":
653 confirm = input("Delete all session history? [y/N] ").strip().lower()
654 if confirm == "y":
655 deleted = clear_sessions()
656 noun = "file" if deleted == 1 else "files"
657 _console.print(f" [dim]✓ Deleted {deleted} session {noun}.[/]\n")
658 else:
659 _console.print(" [dim]Aborted.[/]\n")
660
661 else:
662 if getattr(args, "history_all", False):
663 sessions = load_sessions()
664 elif getattr(args, "history_last", None):
665 sessions = load_sessions(limit=args.history_last)
666 else:
667 sessions = load_sessions(limit=10)
668 display_history_table(sessions, _console)
669
670
671# ---------------------------------------------------------------------------

Callers 1

_async_mainFunction · 0.85

Calls 4

load_sessionsFunction · 0.90
display_session_detailFunction · 0.90
clear_sessionsFunction · 0.90
display_history_tableFunction · 0.90

Tested by

no test coverage detected