Erste Fassung: Claude-Werkzeuge aus dem Vault
.vault-tools (ohne trading-plattform-pruefung und watermarks-remover), .claude/agents, .claude/skills, .claude/workflows, .claude/settings.json. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
commit
fa1c26b407
137 files changed
+43926
No files matched your search
@@ -0,0 +1,46 @@
|
||||
"""Verschiebt bereits hochgeladene Notizen aus dem aktiven Bereich in ein Archiv.
|
||||
|
||||
Ersteller: Pascal Michel
|
||||
Erstellt: 2026-08-11
|
||||
Doku: docs/code/archiv.md · Version und Änderungen: CHANGELOG.md
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
ARCHIV_ORDNERNAME = "nicht hochladen - ARCHIV"
|
||||
|
||||
|
||||
def ist_archiviert(pfad: Path, quelle: Path) -> bool:
|
||||
"""True, wenn der Pfad bereits unterhalb des Archiv-Unterverzeichnisses liegt.
|
||||
|
||||
Liegt pfad außerhalb von quelle (z. B. --nur mit einem externen Pfad), gilt
|
||||
das als „nicht archiviert" — archiviere() wird für solche Pfade gar nicht
|
||||
erst aufgerufen (siehe hochladen.py).
|
||||
"""
|
||||
try:
|
||||
teile = pfad.relative_to(quelle).parts
|
||||
except ValueError:
|
||||
return False
|
||||
return ARCHIV_ORDNERNAME in teile
|
||||
|
||||
|
||||
def archivziel(pfad: Path, quelle: Path) -> Path:
|
||||
"""Berechnet den Zielpfad im Archiv, ohne etwas zu verschieben."""
|
||||
relativ = pfad.relative_to(quelle)
|
||||
return quelle / ARCHIV_ORDNERNAME / relativ
|
||||
|
||||
|
||||
def archiviere(pfad: Path, quelle: Path) -> Path:
|
||||
"""Verschiebt die Datei ins Archiv-Unterverzeichnis; legt Ordner bei Bedarf an.
|
||||
|
||||
Existiert das Ziel schon, bleibt die Quelle liegen und es kommt FileExistsError.
|
||||
Unter Windows wirft rename das ohnehin, unter POSIX würde es still überschreiben.
|
||||
"""
|
||||
ziel = archivziel(pfad, quelle)
|
||||
if ziel.exists():
|
||||
raise FileExistsError(f"Archivziel existiert schon: {ziel}")
|
||||
ziel.parent.mkdir(parents=True, exist_ok=True)
|
||||
pfad.rename(ziel)
|
||||
return ziel
|
||||
Reference in new issue
Block a user