From a2e8042f27b1a64c084ed8063f691337993ac666 Mon Sep 17 00:00:00 2001 From: Jarian Cottingham Date: Sat, 21 Feb 2026 15:00:11 -0600 Subject: [PATCH] Add graceful exit handling for Ctrl+C interrupts --- youtube_cli/main.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/youtube_cli/main.py b/youtube_cli/main.py index a208c2d..4d185d7 100644 --- a/youtube_cli/main.py +++ b/youtube_cli/main.py @@ -6,6 +6,7 @@ YouTube CLI - A command-line interface for browsing and downloading YouTube vide import argparse import json import os +import signal import subprocess import sys import time @@ -1004,8 +1005,16 @@ class YouTubeCLI: console.print(f"[red]Error during playlist download: {str(e)}[/red]") +def signal_handler(sig, frame): + """Handle Ctrl+C gracefully.""" + console.print("\n[yellow]Operation cancelled by user.[/yellow]") + sys.exit(0) + def main(): """Main entry point for the YouTube CLI application.""" + # Register signal handler for Ctrl+C + signal.signal(signal.SIGINT, signal_handler) + parser = argparse.ArgumentParser( description="YouTube CLI - Browse and download videos from YouTube" )