fix: wrong folder was created

This commit is contained in:
Lukas 2025-11-01 17:51:30 +01:00
parent b76ffbf656
commit 4dba4db344
4 changed files with 17 additions and 5 deletions

View File

@ -128,6 +128,7 @@ async def add_to_queue(
# Add to queue # Add to queue
added_ids = await download_service.add_to_queue( added_ids = await download_service.add_to_queue(
serie_id=request.serie_id, serie_id=request.serie_id,
serie_folder=request.serie_folder,
serie_name=request.serie_name, serie_name=request.serie_name,
episodes=request.episodes, episodes=request.episodes,
priority=request.priority, priority=request.priority,

View File

@ -66,7 +66,10 @@ class DownloadItem(BaseModel):
"""Represents a single download item in the queue.""" """Represents a single download item in the queue."""
id: str = Field(..., description="Unique download item identifier") id: str = Field(..., description="Unique download item identifier")
serie_id: str = Field(..., description="Series identifier") serie_id: str = Field(..., description="Series identifier (provider key)")
serie_folder: Optional[str] = Field(
None, description="Series folder name on disk"
)
serie_name: str = Field(..., min_length=1, description="Series name") serie_name: str = Field(..., min_length=1, description="Series name")
episode: EpisodeIdentifier = Field( episode: EpisodeIdentifier = Field(
..., description="Episode identification" ..., description="Episode identification"
@ -157,7 +160,8 @@ class QueueStats(BaseModel):
class DownloadRequest(BaseModel): class DownloadRequest(BaseModel):
"""Request to add episode(s) to the download queue.""" """Request to add episode(s) to the download queue."""
serie_id: str = Field(..., description="Series identifier") serie_id: str = Field(..., description="Series identifier (provider key)")
serie_folder: str = Field(..., description="Series folder name on disk")
serie_name: str = Field( serie_name: str = Field(
..., min_length=1, description="Series name for display" ..., min_length=1, description="Series name for display"
) )

View File

@ -233,6 +233,7 @@ class DownloadService:
async def add_to_queue( async def add_to_queue(
self, self,
serie_id: str, serie_id: str,
serie_folder: str,
serie_name: str, serie_name: str,
episodes: List[EpisodeIdentifier], episodes: List[EpisodeIdentifier],
priority: DownloadPriority = DownloadPriority.NORMAL, priority: DownloadPriority = DownloadPriority.NORMAL,
@ -240,7 +241,8 @@ class DownloadService:
"""Add episodes to the download queue (FIFO order). """Add episodes to the download queue (FIFO order).
Args: Args:
serie_id: Series identifier serie_id: Series identifier (provider key)
serie_folder: Series folder name on disk
serie_name: Series display name serie_name: Series display name
episodes: List of episodes to download episodes: List of episodes to download
priority: Queue priority level (ignored, kept for compatibility) priority: Queue priority level (ignored, kept for compatibility)
@ -258,6 +260,7 @@ class DownloadService:
item = DownloadItem( item = DownloadItem(
id=self._generate_item_id(), id=self._generate_item_id(),
serie_id=serie_id, serie_id=serie_id,
serie_folder=serie_folder,
serie_name=serie_name, serie_name=serie_name,
episode=episode, episode=episode,
status=DownloadStatus.PENDING, status=DownloadStatus.PENDING,
@ -759,11 +762,14 @@ class DownloadService:
progress_callback = self._create_progress_callback(item) progress_callback = self._create_progress_callback(item)
# Execute download via anime service # Execute download via anime service
# Use serie_folder if available, otherwise fall back to serie_id
# for backwards compatibility with old queue items
folder = item.serie_folder if item.serie_folder else item.serie_id
success = await self._anime_service.download( success = await self._anime_service.download(
serie_folder=item.serie_id, serie_folder=folder,
season=item.episode.season, season=item.episode.season,
episode=item.episode.episode, episode=item.episode.episode,
key=item.serie_id, # Assuming serie_id is the provider key key=item.serie_id,
callback=progress_callback, callback=progress_callback,
) )

View File

@ -935,6 +935,7 @@ class AniWorldApp {
}, },
body: JSON.stringify({ body: JSON.stringify({
serie_id: serie.key, serie_id: serie.key,
serie_folder: serie.folder,
serie_name: serie.name, serie_name: serie.name,
episodes: episodes, episodes: episodes,
priority: 'NORMAL' priority: 'NORMAL'