fail softly if clipboard not available

This commit is contained in:
Luca Gibelli 2024-06-14 20:07:47 +02:00
parent d5cc239e64
commit d75e2f9f72

View file

@ -1,19 +1,20 @@
import os import os
import subprocess import subprocess
import pathspec import shutil
import logging import logging
import argparse import argparse
import yaml import yaml
from datetime import datetime from datetime import datetime
import pyperclip
import shutil # Importing the missing pathspec module
import pathspec
def setup_logging(debug=False): def setup_logging(debug=False):
logging_level = logging.DEBUG if debug else logging.INFO logging_level = logging.DEBUG if debug else logging.INFO
logging.basicConfig(level=logging_level, format='%(asctime)s - %(levelname)s - %(message)s') logging.basicConfig(level=logging_level, format='%(asctime)s - %(levelname)s - %(message)s')
def check_tree_command(): def check_tree_command():
""" Check if the `tree` command is available, and suggest installation if not. """ """Check if the `tree` command is available, and suggest installation if not."""
if shutil.which('tree') is None: if shutil.which('tree') is None:
print("The 'tree' command is not found. Please install it using one of the following commands:") print("The 'tree' command is not found. Please install it using one of the following commands:")
print("For Debian-based systems (e.g., Ubuntu): sudo apt-get install tree") print("For Debian-based systems (e.g., Ubuntu): sudo apt-get install tree")
@ -185,8 +186,13 @@ def save_repo_to_text(path='.', output_dir=None) -> str:
repo_text = file.read() repo_text = file.read()
# Copy the contents to the clipboard # Copy the contents to the clipboard
pyperclip.copy(repo_text) try:
logging.debug('Repository structure and contents copied to clipboard') import pyperclip
pyperclip.copy(repo_text)
logging.debug('Repository structure and contents copied to clipboard')
except Exception as e:
logging.warning('Could not copy to clipboard. You might be running this script over SSH or without clipboard support.')
logging.debug(f'Clipboard copy error: {e}')
return output_file return output_file