Không có mô tả

gc-server3 3ebe773f8e Projekt-Metadaten angepasst 1 tuần trước cách đây
.vscode 476d3aa89b init 1 tuần trước cách đây
data c0082f4cf7 Command "info" hinzugefügt 1 tuần trước cách đây
samples 476d3aa89b init 1 tuần trước cách đây
.gitignore d198cff627 files.csv aus Versionierung ausgeschlossen 1 tuần trước cách đây
.python-version 476d3aa89b init 1 tuần trước cách đây
README.md 3ebe773f8e Projekt-Metadaten angepasst 1 tuần trước cách đây
archive_logs.py fe74da96f5 Rückgabewerte mit Result-Objekten 1 tuần trước cách đây
clients.py fe74da96f5 Rückgabewerte mit Result-Objekten 1 tuần trước cách đây
files.py fe74da96f5 Rückgabewerte mit Result-Objekten 1 tuần trước cách đây
info.py c0082f4cf7 Command "info" hinzugefügt 1 tuần trước cách đây
main.py c0082f4cf7 Command "info" hinzugefügt 1 tuần trước cách đây
move_files.py 7664db9ce8 Dateikonflikte umgehen 1 tuần trước cách đây
pyproject.toml 3ebe773f8e Projekt-Metadaten angepasst 1 tuần trước cách đây
session_details.py 85445071d3 Session-Details ergänzt und Summary überarbeitet 1 tuần trước cách đây
specs.md 3ebe773f8e Projekt-Metadaten angepasst 1 tuần trước cách đây
summary.py 85445071d3 Session-Details ergänzt und Summary überarbeitet 1 tuần trước cách đây
tox.ini 476d3aa89b init 1 tuần trước cách đây
uv.lock 3ebe773f8e Projekt-Metadaten angepasst 1 tuần trước cách đây
watch.py 23c81c9a56 Command "watch" mit watchdog.Observer umgesetzt 1 tuần trước cách đây

README.md

PC-Visit Filetracker

Verarbeitet PC-Visit-Session-XML-Dateien und erzeugt CSV-Auswertungen.

Installation

uv installieren

Windows PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Alternativ über WinGet:

winget install --id=astral-sh.uv -e

Projekt einrichten

Im Projektverzeichnis genügt:

uv sync

Damit werden die Python-Umgebung und alle Abhängigkeiten aus pyproject.toml eingerichtet.

Verwendung

Die allgemeine Hilfe zeigt alle verfügbaren Commands:

uv run main.py

Das XML-Verzeichnis ist bei den XML-bezogenen Commands optional. Standardmäßig wird verwendet:

%USERPROFILE%\AppData\Roaming\pcvisit Data\Session History

Die CSV-Dateien werden standardmäßig im Ordner data abgelegt.

Commands

clients

Liest Participant- und Client-Daten aus allen XML-Dateien inklusive Unterordnern und schreibt data/clients.csv. Supporter, unbekannte Rollen und leere Client-Namen werden ignoriert. Pro Participant wird der neueste Eintrag verwendet.

uv run main.py clients
uv run main.py clients "C:\Pfad\zur\Session History" -o data\clients.csv

files

Sucht ReceivedFile-Einträge auf dem lokalen Desktop inklusive Unterordnern. Nur gefundene Dateien werden in data/files.csv gespeichert. Der Datumsabgleich mit dem Session-Tag kann deaktiviert werden:

uv run main.py files
uv run main.py files --ignore-timestamp

Der Ordner Desktop\PC-Visit wird bei der Suche ignoriert.

move-files

Aktualisiert zuerst data/files.csv und verschiebt anschließend die gefundenen Dateien nach:

%USERPROFILE%\Desktop\PC-Visit\<Kunde>

Bei gleichnamigen Zieldateien wird die vorhandene Datei mit ihrem Erstellungszeitpunkt umbenannt.

uv run main.py move-files
uv run main.py move-files --ignore-timestamp

archive-logs

Archiviert XML-Dateien mit Duration im Session-Tag nach Archiv\<Jahr>. XML-Dateien ohne Duration werden ab einem Alter von 30 Tagen ebenfalls archiviert. sessions*.xml und bereits archivierte Dateien werden ignoriert. Leere Unterordner werden anschließend entfernt.

uv run main.py archive-logs

session-details

Sammelt UserActivity-Einträge inklusive DateTime, Kunde, UserActivityType und Duration aus allen XML-Dateien inklusive Archiv und schreibt data/session_details.csv.

uv run main.py session-details

summary

Erstellt aus data/session_details.csv die Datei data/summary.csv mit Datum, Startzeit, Kunde und Dauer. Zusätzlich wird standardmäßig eine Übersicht der letzten 14 Tage auf der Konsole ausgegeben. Der Zeitraum ist anpassbar:

uv run main.py summary
uv run main.py summary --days 30

info

Führt clients, archive-logs, session-details und summary nacheinander aus.

uv run main.py info
uv run main.py info --days 30

watch

Überwacht das XML-Verzeichnis rekursiv mit watchdog. Bei Änderungen an XML-Dateien wird der move-files-Ablauf ausgeführt.

uv run main.py watch

Die Überwachung läuft dauerhaft. Beenden mit Strg+C.