Commit Graph

8 Commits

Author SHA1 Message Date
Claude 83eb9752a5 Fix exporter: correct --dir flag, handle full prompt sequence, find mail_* dir
- Replace --export-dir (doesn't exist) with --dir (correct v1.0.6 flag)
- Add handlers for the operation prompt (send 'B') and 'Do you wish to
  proceed?' (send 'Yes') which were previously unhandled
- After export, locate the actual mail_<timestamp> directory the CLI creates
  under <base>/<Email>/ and return it so callers get the right path
- Update prompt pattern for 'Username:' (CLI uses 'Username' not 'Email')
- _clean_export_dir now uses shutil.rmtree since the returned path is the
  mail_* subdir, not a flat file directory

https://claude.ai/code/session_01KjaNo9RXevw6x1DjJD8mj6
2026-03-24 22:06:05 +00:00
Claude 69c685798c Add --debug flag, dual-mode logging, and auto-run on startup
- logger.py: root-level handlers; normal mode shows only user-facing INFO
  (sync, export, push, MBOX) plus WARNING/ERROR; --debug shows all DEBUG
  with full context (module.func:line). Third-party loggers silenced to WARNING.
- main.py: add --debug CLI flag, call configure_logging() at startup,
  auto-trigger sync on first run or when last sync is overdue by the interval
- database.py: add metadata table with record_sync_time() / get_last_sync_time()
  so startup knows whether a sync is due; sync time recorded on success
- forwarder.py: INFO at push start and push complete with counts
- packager.py: INFO before MBOX conversion begins
- exporter.py: INFO when Proton Mail export starts

https://claude.ai/code/session_01KjaNo9RXevw6x1DjJD8mj6
2026-03-24 21:54:25 +00:00
Claude f021410622 Verbose logging: show DEBUG on console with func name and line number
- Lower console handler from INFO to DEBUG so all log calls are visible
- Enrich format to include function name and line number for full context:
  TIMESTAMP [LEVEL   ] module.func:line — message

https://claude.ai/code/session_01KjaNo9RXevw6x1DjJD8mj6
2026-03-24 21:45:45 +00:00
Claude d81a3d3974 Add .gitignore for Python artifacts and runtime data
Excludes __pycache__, compiled Python files, virtual environments,
the data/ directory (runtime-generated), and build artifacts.

https://claude.ai/code/session_01KjaNo9RXevw6x1DjJD8mj6
2026-03-24 21:40:27 +00:00
Claude 39846a95f2 Fix pyrage passphrase API for v1.3.0
pyrage 1.3.0 removed the Recipient/Identity class pattern in favour of
pyrage.passphrase.encrypt(plaintext, passphrase) and
pyrage.passphrase.decrypt(ciphertext, passphrase) top-level functions.
Update _encrypt/_decrypt in config.py accordingly.

https://claude.ai/code/session_01KjaNo9RXevw6x1DjJD8mj6
2026-03-24 21:39:49 +00:00
Claude 052ec1f39e Ensure data/, data/exports/, and data/downloads/ are created at startup
Add _ensure_data_dirs() helper in main.py and call it from both _run_setup()
and _start_service() so all required data directories are guaranteed to exist
before any module attempts to use them.

https://claude.ai/code/session_01KjaNo9RXevw6x1DjJD8mj6
2026-03-24 21:10:10 +00:00
Tyler 51cec55f44 Updated readme 2026-03-24 17:03:03 -04:00
Tyler 71861ae630 First Commit 2026-03-24 17:01:09 -04:00