فهرست منبع

handle Ctrl+C more gracefully

Nick Sweeting 1 سال پیش
والد
کامیت
5323953f94
1فایلهای تغییر یافته به همراه10 افزوده شده و 7 حذف شده
  1. 10 7
      archivebox/cli/__init__.py

+ 10 - 7
archivebox/cli/__init__.py

@@ -1,15 +1,15 @@
 __package__ = 'archivebox.cli'
 __package__ = 'archivebox.cli'
 __command__ = 'archivebox'
 __command__ = 'archivebox'
 
 
-import os
 import sys
 import sys
 import argparse
 import argparse
 import threading
 import threading
-import tempfile
 
 
 from time import sleep
 from time import sleep
 from collections.abc import Mapping
 from collections.abc import Mapping
 
 
+from rich import print
+
 from typing import Optional, List, IO, Union, Iterable
 from typing import Optional, List, IO, Union, Iterable
 from pathlib import Path
 from pathlib import Path
 
 
@@ -242,8 +242,11 @@ def main(args: List[str] | Omitted=OMITTED, stdin: IO | Omitted=OMITTED, pwd: st
             stdin=stdin or None,
             stdin=stdin or None,
         )
         )
 
 
-    run_subcommand(
-        subcommand=command.subcommand,
-        subcommand_args=command.subcommand_args,
-        stdin=stdin or None,
-    )
+    try:
+        run_subcommand(
+            subcommand=command.subcommand,
+            subcommand_args=command.subcommand_args,
+            stdin=stdin or None,
+        )
+    except KeyboardInterrupt:
+        print('\n\n[red][X] Got CTRL+C. Exiting...[/red]')