Skip to content

Add series to metadata#196

Open
fmunkes wants to merge 9 commits intomainfrom
series
Open

Add series to metadata#196
fmunkes wants to merge 9 commits intomainfrom
series

Conversation

@fmunkes
Copy link
Copy Markdown
Contributor

@fmunkes fmunkes commented Apr 4, 2026

I really didn't know where to put the AudiobookSeries helper, as that is for the API.

@fmunkes fmunkes added the enhancement Enhancement of an existing feature/functionality label Apr 4, 2026
@fmunkes fmunkes changed the title Add MediaItem: Series Add series to metadata Apr 13, 2026
@fmunkes fmunkes requested a review from marcelveldt April 14, 2026 17:13
@fmunkes fmunkes marked this pull request as ready for review April 15, 2026 19:54
# chapters is a list of available chapters, sorted by position
# most commonly used for audiobooks and podcast episodes
chapters: list[MediaItemChapter] | None = None
series: UniqueList[MediaItemSeries] | None = None
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can a book be part of multiple series?

Copy link
Copy Markdown
Contributor Author

@fmunkes fmunkes Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stumbled across this myself, as I had only a single series previously. I compared that to abs, and it supports multiple series. I googled a bit around, and apparently, there are some occasions where a book can be part of different aspects of e.g. a fantasy story, or you create two series e.g. for published order and chronological order.
It's probably rare, but I think it is easy to support, too.

A naming alternative could be to not name this series, but collection. In the end a series is just a collection of books, which has a defined order, so a sub-type of a collection. Would just be the wording, logic remains the same - what do you think?



@dataclass
class AudiobookSeries(DataClassDictMixin):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not too sure about this one. It kinda feels like it belongs in media_item.py, but that also makes it its own MediaItem. @marcelveldt what are your thoughts here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement of an existing feature/functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants