fase 4 afgerond

This commit is contained in:
kodi
2026-03-07 14:21:29 +01:00
parent aa2d0c9bac
commit 2b1a7cccfb
3 changed files with 206 additions and 0 deletions
+31
View File
@@ -316,3 +316,34 @@ class SessionService:
(position, session_id, item["selection_id"]),
)
return self.list_selected_files(session_id)
def build_mapping_preview(self, session_id: str) -> dict:
episodes = self.list_selected_episodes(session_id)
files = self.list_selected_files(session_id)
if len(episodes) != len(files):
raise ValueError(
"Selected episodes and selected files count mismatch: "
f"{len(episodes)} episodes vs {len(files)} files"
)
mappings = []
for index, (episode_item, file_item) in enumerate(zip(episodes, files)):
mappings.append(
{
"index": index,
"episode_selection_id": episode_item["selection_id"],
"file_selection_id": file_item["selection_id"],
"episode": episode_item["episode"],
"file": file_item["file"],
}
)
return {
"session_id": session_id,
"counts": {
"episodes": len(episodes),
"files": len(files),
},
"mappings": mappings,
}