46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
|
|
import os
|
|||
|
|
import sys
|
|||
|
|
import shutil
|
|||
|
|
|
|||
|
|
def print_usage():
|
|||
|
|
print("❌ Bitte gib eine Kategorie an, z. B.:")
|
|||
|
|
print(" python restore_imported_files.py karatetrainer")
|
|||
|
|
sys.exit(1)
|
|||
|
|
|
|||
|
|
# --- Eingabe prüfen ---
|
|||
|
|
if len(sys.argv) < 2:
|
|||
|
|
print_usage()
|
|||
|
|
|
|||
|
|
CATEGORY = sys.argv[1]
|
|||
|
|
FORCE = "--force" in sys.argv
|
|||
|
|
|
|||
|
|
SOURCE_DIR = os.path.expanduser(f"~/knowledge/{CATEGORY}/_imported")
|
|||
|
|
TARGET_DIR = os.path.expanduser(f"~/knowledge/{CATEGORY}")
|
|||
|
|
|
|||
|
|
if not os.path.isdir(SOURCE_DIR):
|
|||
|
|
print(f"❌ Quellordner '{SOURCE_DIR}' existiert nicht.")
|
|||
|
|
sys.exit(1)
|
|||
|
|
|
|||
|
|
files = [f for f in os.listdir(SOURCE_DIR) if os.path.isfile(os.path.join(SOURCE_DIR, f))]
|
|||
|
|
if not files:
|
|||
|
|
print("⚠️ Keine Dateien zum Wiederherstellen gefunden.")
|
|||
|
|
sys.exit(0)
|
|||
|
|
|
|||
|
|
print(f"♻️ Wiederherstellung von {len(files)} Dateien nach '{TARGET_DIR}'")
|
|||
|
|
|
|||
|
|
restored = 0
|
|||
|
|
for file in files:
|
|||
|
|
source_path = os.path.join(SOURCE_DIR, file)
|
|||
|
|
target_path = os.path.join(TARGET_DIR, file)
|
|||
|
|
|
|||
|
|
if not FORCE:
|
|||
|
|
confirm = input(f"🔁 Datei '{file}' zurückkopieren? [j/N] ").strip().lower()
|
|||
|
|
if confirm != "j":
|
|||
|
|
continue
|
|||
|
|
|
|||
|
|
shutil.move(source_path, target_path)
|
|||
|
|
print(f"✅ '{file}' wurde zurückkopiert.")
|
|||
|
|
restored += 1
|
|||
|
|
|
|||
|
|
print(f"\n🎉 {restored} Datei(en) wurden erfolgreich wiederhergestellt.")
|