mirror of
https://github.com/AJaySi/ALwrity.git
synced 2026-04-25 17:05:56 +03:00
[PR #412] [MERGED] Refactor podcast media storage to lazy tenant resolver #721
Labels
No labels
AI Content Agents
AI Content Strategy
AI Content planning
AI Marketing Tools
AI SEO
AI personalization
AI writer
ALwrity Copi-lot
Alwrity web search
Anthropic
DeepSeek
Gemini AI
Integration
LLM
OnBoarding
OnBoarding
RAG knowledgebase Memory
bug
documentation
enhancement
good first issue
help wanted
invalid
openai
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ALwrity#721
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/AJaySi/ALwrity/pull/412
Author: @AJaySi
Created: 3/12/2026
Status: ✅ Merged
Merged: 3/12/2026
Merged by: @AJaySi
Base:
main← Head:codex/remove-global-mkdir-and-add-resolver-utility📝 Commits (1)
d4baf88Refactor podcast media storage to lazy tenant resolver📊 Changes
4 files changed (+133 additions, -97 deletions)
View changed files
📝
backend/api/podcast/constants.py(+45 -5)📝
backend/api/podcast/handlers/audio.py(+10 -18)📝
backend/api/podcast/handlers/video.py(+50 -58)📝
backend/api/podcast/utils.py(+28 -16)📄 Description
Motivation
data/media/podcast_*locations.Description
mkdir(...)calls and the eageraudio_serviceinitialization frombackend/api/podcast/constants.pyand added tenant-aware helpers:get_podcast_media_dir(...),get_podcast_media_read_dirs(...),get_podcast_audio_service(...), and_sanitize_user_id._resolve_podcast_media_file(...)and updatedload_podcast_audio_bytes(...)inbackend/api/podcast/utils.pyto perform tenant-first lookups with legacy fallback and safe path traversal checks.backend/api/podcast/handlers/audio.pyto useget_podcast_media_dir(...)/get_podcast_audio_service(...)for uploads, generated audio, combined audio output, and serving; reads/writes no longer reference static global directory constants.backend/api/podcast/handlers/video.pyto read/write scene and final videos through the resolver helpers (get_podcast_media_dir(...),get_podcast_media_read_dirs(...), and_resolve_podcast_media_file(...)) and to prefer tenant workspace directories while falling back to legacy paths.Testing
python -m compileall backend/api/podcast/constants.py backend/api/podcast/utils.py backend/api/podcast/handlers/audio.py backend/api/podcast/handlers/video.py, which completed successfully.Refactor podcast media storage to lazy tenant resolver).Codex Task
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.