feat(subscribestar): port gallery-dl doc + audio attachment extraction #122

Merged
bvandeusen merged 2 commits from dev into main 2026-06-17 16:20:12 -04:00
Owner

What

Ports gallery-dl's _media_from_post document/audio attachment extraction. Some SubscribeStar posts deliver content only through these sections (outside data-gallery), so we were silently missing them.

Changes

  • Docs: scope uploads-docs..post-edit_form, split on doc_preview blocks, take the href URL + doc_preview-title + data-upload-id (kind=attachment).
  • Audio: scope uploads-audios..post-edit_form, split on audio_preview-data blocks, take the src URL + audio_preview-title + data-upload-id (kind=audio).
  • Downloader unchanged: the existing streaming GET handles them, and the file validator only inspects image/video extensions (is_validatable), so PDFs/zips/audio pass through without quarantine.

Test covers doc + audio extraction (the cheunart sample has none, so this pins gallery-dl's documented markup shape).

CI green on dev (run 1245).

🤖 Generated with Claude Code

## What Ports gallery-dl's `_media_from_post` document/audio attachment extraction. Some SubscribeStar posts deliver content **only** through these sections (outside `data-gallery`), so we were silently missing them. ## Changes - **Docs:** scope `uploads-docs`..`post-edit_form`, split on `doc_preview` blocks, take the `href` URL + `doc_preview-title` + `data-upload-id` (kind=`attachment`). - **Audio:** scope `uploads-audios`..`post-edit_form`, split on `audio_preview-data` blocks, take the `src` URL + `audio_preview-title` + `data-upload-id` (kind=`audio`). - Downloader unchanged: the existing streaming GET handles them, and the file validator only inspects image/video extensions (`is_validatable`), so PDFs/zips/audio pass through without quarantine. Test covers doc + audio extraction (the cheunart sample has none, so this pins gallery-dl's documented markup shape). CI green on dev (run 1245). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bvandeusen added 2 commits 2026-06-17 16:20:02 -04:00
feat(subscribestar): port gallery-dl doc + audio attachment extraction
CI / lint (push) Failing after 2s
CI / frontend-build (push) Successful in 20s
CI / backend-lint-and-test (push) Successful in 29s
CI / integration (push) Successful in 3m24s
976f581aa2
Some SubscribeStar posts deliver content only through document/audio attachments,
which live OUTSIDE data-gallery. Port gallery-dl's _media_from_post for them:
- docs: scope uploads-docs..post-edit_form, split on doc_preview blocks, take the
  href URL + doc_preview-title + data-upload-id (kind=attachment).
- audio: scope uploads-audios..post-edit_form, split on audio_preview-data
  blocks, take the src URL + audio_preview-title + data-upload-id (kind=audio).

The existing downloader handles them unchanged (plain streaming GET; the file
validator only inspects image/video extensions via is_validatable, so PDFs/zips/
audio pass straight through, no quarantine).

Test covers doc + audio extraction (the cheunart sample has none, so this pins
gallery-dl's documented markup shape).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
style(subscribestar): drop quoted forward-ref annotation (UP037)
CI / lint (push) Successful in 3s
CI / frontend-build (push) Successful in 18s
CI / backend-lint-and-test (push) Successful in 37s
CI / integration (push) Successful in 3m22s
479b7b54da
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
bvandeusen scheduled this pull request to auto merge when all checks succeed 2026-06-17 16:20:11 -04:00
bvandeusen merged commit e9af459c0d into main 2026-06-17 16:20:12 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledCurator#122