First Commit - Portfolio Page
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import os
|
||||
|
||||
def should_ignore(path):
|
||||
ignore_paths = [
|
||||
'.idea',
|
||||
'dev-dist',
|
||||
'node_modules',
|
||||
'package-lock.json',
|
||||
'External Libraries',
|
||||
'Scratches and Consoles'
|
||||
]
|
||||
|
||||
for ignore in ignore_paths:
|
||||
if ignore in str(path):
|
||||
return True
|
||||
return False
|
||||
|
||||
def print_directory_tree(path, prefix=""):
|
||||
try:
|
||||
# Verzeichnisname ausgeben
|
||||
print(f"{prefix}📁 {os.path.basename(path)}")
|
||||
|
||||
# Präfix für Unterelemente
|
||||
prefix_files = prefix + "├── "
|
||||
prefix_last = prefix + "└── "
|
||||
prefix_deeper = prefix + "│ "
|
||||
|
||||
# Alle Einträge sammeln und filtern
|
||||
entries = [entry for entry in os.scandir(path) if not should_ignore(entry.path)]
|
||||
|
||||
# Sortieren: Ordner zuerst, dann Dateien
|
||||
entries.sort(key=lambda e: (not e.is_dir(), e.name.lower()))
|
||||
|
||||
# Durch alle Einträge iterieren
|
||||
for i, entry in enumerate(entries):
|
||||
is_last = (i == len(entries) - 1)
|
||||
current_prefix = prefix_last if is_last else prefix_files
|
||||
|
||||
if entry.is_file():
|
||||
print(f"{current_prefix}📄 {entry.name}")
|
||||
elif entry.is_dir():
|
||||
print_directory_tree(entry.path, prefix_deeper if not is_last else prefix + " ")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Fehler beim Lesen des Verzeichnisses {path}: {str(e)}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
portfolio_path = r"C:\Development\Damjan Savic\Portfolio"
|
||||
print("\nVerzeichnisstruktur:")
|
||||
print("="*50)
|
||||
print_directory_tree(portfolio_path)
|
||||
print("="*50)
|
||||
Reference in New Issue
Block a user