Move NFO series season name parsing to own local provider
Original-merge: a53ea029fa
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: 9357d610b1
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}`.
* Fix warnings, improve performance
`QueryResult.Items` is now a `IReadOnlyList` so we don't need to
allocate a new `Array` when we have a `List` (and `Items` shouldn't need to
be mutable anyway)
* Update Providers .csproj to latest C#
* Remove extra newline from DtoService.cs
* Remove extra newline from UserLibraryService.cs