mirror of
https://github.com/kirill-markin/repo-to-text.git
synced 2025-12-06 03:22:23 -08:00
Fix tree command for Windows (fixes #26)
- Add platform detection to run_tree_command - Use 'cmd /c tree /a /f' syntax on Windows - Keep 'tree -a -f --noreport' syntax on Unix/Linux/Mac - Modernize subprocess call with text=True and encoding='utf-8' - Add stderr=subprocess.PIPE for better error handling All 43 tests pass successfully.
This commit is contained in:
parent
de1c84eca3
commit
3721ed45f0
1 changed files with 11 additions and 2 deletions
|
|
@ -4,6 +4,7 @@ Core functionality for repo-to-text
|
|||
|
||||
import os
|
||||
import subprocess
|
||||
import platform
|
||||
from typing import Tuple, Optional, List, Dict, Any, Set
|
||||
from datetime import datetime, timezone
|
||||
from importlib.machinery import ModuleSpec
|
||||
|
|
@ -36,12 +37,20 @@ def get_tree_structure(
|
|||
|
||||
def run_tree_command(path: str) -> str:
|
||||
"""Run the tree command and return its output."""
|
||||
if platform.system() == "Windows":
|
||||
cmd = ["cmd", "/c", "tree", "/a", "/f", path]
|
||||
else:
|
||||
cmd = ["tree", "-a", "-f", "--noreport", path]
|
||||
|
||||
result = subprocess.run(
|
||||
['tree', '-a', '-f', '--noreport', path],
|
||||
cmd,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
text=True,
|
||||
encoding='utf-8',
|
||||
check=True
|
||||
)
|
||||
return result.stdout.decode('utf-8')
|
||||
return result.stdout
|
||||
|
||||
def filter_tree_output(
|
||||
tree_output: str,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue