Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog

All notable changes to this project will be documented in this file.

## Unreleased

### Changed

- Formatted the Python source with Black.
- Normalized import ordering with isort.
- Corrected PEP 8 whitespace, indentation, quoting, and `None` comparison style.
- Preserved the existing public camelCase APIs to avoid breaking current callers.
- Git commits for updates are now signed with GPG.
- Added a cached JPEG artwork proxy for formats such as WebP, with download,
image-size, redirect, and private-address protections.
- Added channel-level iTunes artwork, News category, non-explicit status, and
episodic show type metadata.

### Validation

- Python bytecode compilation, formatter, import-order, pycodestyle, whitespace,
and focused utility smoke checks pass.
- **Not fully tested:** the application has not undergone end-to-end or live Podimo
API testing. The artwork and feed test suite passes, and the application starts
successfully with the configured Hypercorn server.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM python:3.10-alpine
WORKDIR /src

COPY requirements.txt /src/
RUN apk add libxml2-dev libxslt-dev gcc libc-dev && pip3 install --no-cache-dir -r requirements.txt
RUN apk add libxml2-dev libxslt-dev jpeg-dev zlib-dev libwebp-dev gcc libc-dev && pip3 install --no-cache-dir -r requirements.txt

COPY . /src

Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,14 @@ docker run --rm \

3. Visit http://localhost:12104. You should see the site now!

## HLS fallback audio

Podcast clients without HLS support receive an episode-specific URL such as
`/audio/dummy-<hash>.mp3` as their standard RSS enclosure. Every generated URL
serves the same physical fallback file at `audio/dummy.mp3`. The legacy
`/audio/dummy.mp3` URL remains available. A reverse proxy may expose these URLs
under a prefix such as `/pc/audio/`.

## Configuration
A complete list of all configuration options can be found in the [.env.example file](.env.example)

Expand Down
1 change: 1 addition & 0 deletions audio/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Binary file added audio/dummy.mp3
Binary file not shown.
Loading