Fix nullref in Season.GetEpisodes when the season is detached from a series
Original-merge: b65daeca0baf7a447185205461b4a9d758bbeb26
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
Revert "always sort season by index number"
Original-merge: 32d2414de0b3d119929c063714b6e4f0023893c7
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
Currently, the IChannel interface can deliver channel result folders which are interpreted as series and seasons. However, Jellyfin does not query for the contents of these folders when viewing said serie of season. This results in empty series in the API.
Create and use FormattingStreamWriter
Original-merge: cd2f2ca17800f71c8d94a6e043b49b7c4200e254
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
Return missing episodes for series when no user defined
Original-merge: ae584beaac0123f6a722f341a4e12b8f8fbcaf34
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
Move NFO series season name parsing to own local provider
Original-merge: a53ea029fade01a18e8e525543b5cda14e16533a
Merged-by: joshuaboniface <joshua@boniface.me>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
- SaveRecordingNFO and SaveRecordingImages default to true. Maintains current behavior.
- Episode.FillMissingEpisodeNumbersFromPath for live tv so external metadata can be pulled when recording starts.
Fix series query including missing episodes when it should not
Original-merge: 9357d610b13e2d9a759d69ed80dd71108af1e602
Merged-by: Claus Vium <cvium@users.noreply.github.com>
Backported-by: Joshua Boniface <joshua@boniface.me>
This is an universal solution for plugins to override how series are merged.
The reason to override is so we can set the same provider id on multiple items without merging them, while using another id for merging them. Having an (optional) provider id not tied to any online database allows plugins to use their own rules for merging series.
* Use Guid.Equals(Guid) instead of the == override
* Ban the usage of Guid.Equals(Object) to prevent accidental boxing
* Compare to default(Guid) instead of Guid.Empty
The code is the same as `MediaBrowser.Controller/Entities/TV/Series.cs`, using the imdbID to generate Trakt links.
The trakt url for episodes is `https://trakt.tv/episodes/{0}`.