Skip to content

Session: Ausgabeformat-Verwaltung, Versionierung, In-App-Update#3

Merged
oliverba81 merged 4 commits into
mainfrom
feature/session-updates
May 29, 2026
Merged

Session: Ausgabeformat-Verwaltung, Versionierung, In-App-Update#3
oliverba81 merged 4 commits into
mainfrom
feature/session-updates

Conversation

@oliverba81

Copy link
Copy Markdown
Owner

Summary

  • Ausgabeformat-Auswahl: Jira-Markdown (.md), XML und CSV wählbar; jedes Format vollständig konfigurierbar (Template, Felder, Parameter, Dateiendung) über neuen Tab „📋 Formate" in den Einstellungen
  • GitHub Actions Versionierung: version-bump.yml bumpt automatisch die Version bei jedem PR-Merge (Patch/Minor/Major per Label); erstellt Git-Tag und GitHub Release mit website_scraper.py als Asset
  • In-App-Update: App prüft beim Start gegen die GitHub Releases API — bei neuer Version Dialog mit optionalem Auto-Update + Neustart
  • Version im Fenstertitel: APP_VERSION wird im Titelbalken angezeigt und vom Workflow automatisch aktualisiert
  • Bugfix: Simulationsmodus-Banner erscheint auf manchen Rechnern nicht mehr unbeabsichtigt beim Start

Test plan

  • Einstellungen → Tab „📋 Formate" öffnen — 3 vorinstallierte Formate sichtbar
  • Format wechseln (z. B. CSV) → Extraktion starten → .csv-Datei wird erzeugt
  • GitHub Update-Token in Einstellungen hinterlegen → App neu starten → Update-Dialog erscheint wenn neuere Version auf GitHub
  • PR mergen → GitHub Actions Workflow bumpt Version → Release v1.0.1 mit website_scraper.py als Asset sichtbar
  • Fenstertitel zeigt v1.0.0 (bzw. aktuelle Version nach Bump)

🤖 Generated with Claude Code

oliverba81 and others added 4 commits May 29, 2026 14:08
…ix simulation banner on startup

New features:
- Output format selection: Jira-Markdown (.md), XML, CSV – configurable per format
  (template, fields, parameters, file extension)
- New '📋 Formate' tab in Settings dialog to create, edit and delete formats
- FormatEditorDialog with type-specific sections (template, field checkboxes, CSV/XML params)
- Active format persisted in settings.json; used for auto output path and file browser
- Scraper._render_xml() and _render_csv() converters with {{placeholder}} template system
- _extract_page_vars() extracts title, url, content, text, meta_description, date per page
- _url_to_filename() and _write_index() accept ext parameter for non-.md formats

Bug fix:
- Simulation mode banner no longer shows unexpectedly on startup on some systems
  (explicit reset in _load_session() ensures banner is always hidden at app start)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
GitHub Actions (version-bump.yml):
- Triggers on PR merge to main
- Bumps patch/minor/major based on PR label (default: patch)
- Updates APP_VERSION in website_scraper.py, creates git tag, GitHub Release
- Uploads website_scraper.py as release asset

In-app update:
- Checks GitHub Releases API 3s after startup (background thread)
- Requires GitHub fine-grained PAT (Contents: Read-only) in Settings
- Shows update dialog if newer version found
- Downloads asset, writes _ws_updater.py, closes app, restarts with new version
- Uses pythonw.exe + DETACHED_PROCESS on Windows for clean handoff

Also adds .gitignore (excludes updater temp files + __pycache__)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Displays v{APP_VERSION} as a small grey label in the bottom-right of the
header bar, next to the subtitle. Updated automatically by the CI workflow
on every PR merge.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@oliverba81 oliverba81 merged commit 4d6a6a0 into main May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant