Commit Graph
5 Commits
Author SHA1 Message Date
kosmos daf0a203a0 refactor(wizard): replace hand-rolled arrow-key menu with questionary
The reviewer asked for a known-good interactive-menu library instead of
the custom termios/select key reader; arrow keys had failed in their
terminal. The TTY path now delegates to questionary.select (pointer ">",
bold highlight via pointer/selected styles), keeping choice values mapped
to list indices. Cancellable menus graft an eager Escape binding onto the
prompt's own key-binding registry so Esc backs out while Ctrl-C still
aborts fixed menus and backs out of cancellable ones. The non-TTY
numbered fallback is untouched, and hand-rolled internals
(_arrow_menu/_read_keypress/_option_line/_draw_menu_rows) are gone.
2026-08-27 08:36:56 +00:00
vhaudiquet 8eadf64a2f Add build group to uv.lock
The pyinstaller build group was added to pyproject.toml without
regenerating uv.lock, so 'uv sync --frozen --group build' failed in CI
with: Group 'build' is not defined in the project's dependency-groups.
2026-08-25 20:36:54 +02:00
vhaudiquet 98eb6ab542 Add Debian BTS source for bugs filed and owned
New `bts` subcommand backed by python-debianbts (bugs.debian.org SOAP):

- Identify by email address: get_bugs(submitter=...) for bugs filed,
  get_bugs(owner=...) for bugs owned
- Filed filtered on creation date, owned on log_modified; status
  lookups capped at 500 bugs per collect
- Per-query failures degrade to warnings like other sources
2026-08-25 19:44:56 +02:00
vhaudiquet 3625229056 Restructure to multi-source architecture; fix GitHub repo timeline filter
- Rename package launchpad_weekly_activity -> weekly_activity
- Split into model.py (ActivityReport, Section), report.py (source-agnostic
  formatter), cli.py (subcommand dispatch), sources/ (per-source modules)
- Move Launchpad code to sources/launchpad.py implementing ActivitySource
- Add GitHub source (sources/github.py) using httpx: PRs, issues, repos, commits
- Fix GitHub 'Repositories modified' filtering on pushed_at not updated_at
  (metadata changes were showing stale repos with no recent code pushes)
- Add --credentials-file for Launchpad OAuth (bypass keyring for headless)
- Add keyring dep (launchpadlib optional dep; bare import crashes without it)
- Graceful per-query error handling: degraded sections + concise warnings
- Rolling 7-day window (was previous calendar week)
2026-08-25 15:24:10 +02:00
vhaudiquet bc451f9830 Initial commit 2026-08-21 14:55:45 +02:00