Detect if tree is missing

This commit is contained in:
Luca Gibelli 2024-06-14 19:43:13 +02:00 committed by GitHub
parent 57f2e65a68
commit 695fc0d4f2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,12 +6,25 @@ import argparse
import yaml
from datetime import datetime
import pyperclip
import shutil
def setup_logging(debug=False):
logging_level = logging.DEBUG if debug else logging.INFO
logging.basicConfig(level=logging_level, format='%(asctime)s - %(levelname)s - %(message)s')
def check_tree_command():
""" Check if the `tree` command is available, and suggest installation if not. """
if shutil.which('tree') is None:
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 Red Hat-based systems (e.g., Fedora, CentOS): sudo yum install tree")
return False
return True
def get_tree_structure(path='.', gitignore_spec=None, tree_and_content_ignore_spec=None) -> str:
if not check_tree_command():
return ""
logging.debug(f'Generating tree structure for path: {path}')
result = subprocess.run(['tree', '-a', '-f', '--noreport', path], stdout=subprocess.PIPE)
tree_output = result.stdout.decode('utf-8')