aboutsummaryrefslogtreecommitdiff
path: root/src/wikiget/wikiget.py
diff options
context:
space:
mode:
authorCody Logan <cody@lokken.dev>2023-11-17 14:51:20 -0800
committerCody Logan <cody@lokken.dev>2023-11-17 14:52:11 -0800
commit60ecb1990f4efc07d596182f38953e8a50c1a726 (patch)
treefbcb3e1f0d49a6d4fb489f76ab6ed7c225656436 /src/wikiget/wikiget.py
parent06dfda7b5430bfc895a39defad50f184d41281f1 (diff)
parentd78f25717567870d4bb991e9bca7451f925f29ac (diff)
downloadwikiget-60ecb1990f4efc07d596182f38953e8a50c1a726.tar.gz
wikiget-60ecb1990f4efc07d596182f38953e8a50c1a726.zip
Merge branch 'master' into reduce-api-calls
Diffstat (limited to 'src/wikiget/wikiget.py')
-rw-r--r--src/wikiget/wikiget.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/wikiget/wikiget.py b/src/wikiget/wikiget.py
index ca211af..870f7a2 100644
--- a/src/wikiget/wikiget.py
+++ b/src/wikiget/wikiget.py
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with Wikiget. If not, see <https://www.gnu.org/licenses/>.
+"""Set up the command-line interface and handle program start and exit."""
+
from __future__ import annotations
import argparse
@@ -138,5 +140,10 @@ def cli() -> None:
logger.info("Starting download session using wikiget %s", wikiget.__version__)
logger.debug("User agent: %s", wikiget.USER_AGENT)
- exit_code = process_download(args)
- sys.exit(exit_code)
+ try:
+ exit_code = process_download(args)
+ except KeyboardInterrupt:
+ logger.critical("Interrupted by user")
+ exit_code = 130
+ finally:
+ sys.exit(exit_code)