4 Commits
Author SHA1 Message Date
jared 24e0072c21 feat: add PowerShell port for Windows users without Python
CI / Tests (Linux, Python 3.12) (push) Successful in 9m24s
Adds tagsync.ps1, a self-contained PowerShell rewrite of the full
tagsync tool. Uses Invoke-RestMethod for Dropbox REST calls, DPAPI-
encrypted file for token storage, JSON for state, and native
Register-ScheduledTask for scheduling. Only external dependency is
exiftool.exe (same as the Python version).

Updates README to lead with the PowerShell quick start, with Python
instructions in a separate section below.
2026-04-20 16:54:52 -04:00
jared 5e093cbf05 ci: simplify to single Linux/Python 3.12 job
CI / Tests (Linux, Python 3.12) (push) Successful in 9m27s
Gitea only has Linux runners available. Drop the Python version matrix,
macOS/Windows jobs, and coverage artifact upload to reduce CI surface
area to what can actually run.
2026-04-20 14:41:02 -04:00
jared c7705b9599 fix: handle missing keyring backend in CI
CI / Tests (macOS) (push) Has been cancelled
CI / Tests (Windows) (push) Has been cancelled
CI / Tests (Linux, Python 3.11) (push) Has been cancelled
CI / Tests (Linux, Python 3.12) (push) Has been cancelled
CI / Tests (Linux, Python 3.9) (push) Has been cancelled
The keyring package imports successfully on headless Linux but uses a
fail.Keyring backend that raises NoKeyringError on any operation. Detect
this case in _get_keyring() and fall back to the file-based token store.
2026-04-20 14:34:17 -04:00
jared e363020080 feat: initial Dropbox tag sync tool
CI / Tests (Linux, Python 3.12) (push) Failing after 4m51s
CI / Tests (Linux, Python 3.11) (push) Failing after 5m19s
CI / Tests (Linux, Python 3.9) (push) Failing after 5m3s
CI / Tests (macOS) (push) Has been cancelled
CI / Tests (Windows) (push) Has been cancelled
Cross-platform CLI that mirrors Dropbox web tags to OS-native tags:
- macOS: Finder xattrs (content-preserving, no re-upload)
- Windows: XMP:Subject via ExifTool (re-upload expected once per file)

Includes an interactive wizard that auto-detects the OS and Dropbox
folder, walks the user through read-only token creation, previews
tagged files, applies tags, and installs a background scheduler
(launchd on macOS, Task Scheduler on Windows).

Ships with:
- 47-test suite (pytest) covering config, state DB, run_sync, writers
- Gitea Actions CI for Linux / macOS / Windows with coverage reporting
2026-04-20 14:16:50 -04:00