51 Commits

Author SHA1 Message Date
Marc Brooks
6dc61a430b Sort embedded collections in Nfo files
Because the Nfo files emit the collections as they are in-memory, the
files are not stable in format, genres, tags, albums, people, etc. are emitted in random orders. Add ordering of the collections when emitting the Nfo files so the file remains stable (unchanged) when underlying media information doesn't change.

In the process of this, it became clear that most of the providers and probes don't trim the strings like people's names, genre names, etc. so did a pass of Trim cleanup too.

Specific ordering: (alphabetical/numeric ascending after trimming blanks and defaulting to zero for missing numbers)

BaseItem: Directors, Writers, Trailers (by Url), Production Locations, Genres, Studios, Tags, Custom Provider Data (by key), Linked Children  (by Path>LibraryItemId), Backdrop Images (by path), Actors (by SortOrder>Name)

AlbumNfo: Artists, Album Artists, Tracks (by ParentIndexNumber>IndexNumber>Name)

ArtistNfo: Albums (by Production Year>SortName>Name)

MovieNfo: Artists

Fix Debug build lint


Fix CI debug build lint issue.


Fix review issues

Fixed debug-build lint issues.
Emits the `disc` number to NFO for tracks with a non-zero ParentIndexNumber and only emit `position` if non-zero.
Removed the exception filtering I put in for testing.

Don't emit actors for MusicAlbums or MusicArtists


Swap from String.Trimmed() to ?.Trim()
Addressing PR feedback

Can't use ReadOnlySpan in an async method

Removed now-unused namespace
2024-09-18 20:33:18 -05:00
Bond_009
ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02:00
Bond-009
ac108690a8
Use StringSplitOptions.TrimEntries where possible (#11421) 2024-04-24 08:35:15 -06:00
Cody Robibero
89be3aa37f
Convert Person.Type to use PersonKind enum (#9487) 2023-03-25 11:52:02 -06:00
Bond_009
24a7e210c3 Optimize tryparse
* Don't check for null before
* Don't try different formats when not needed (NumberFormat.Integer is the fast path)
2023-02-19 16:52:29 +01:00
Bond_009
b934b346e1 Fix all warnings in MediaBrowser.Providers 2023-01-11 10:36:18 +01:00
Bond_009
b366dc2e6e Use ArgumentException.ThrowIfNullOrEmpty 2022-12-07 16:43:59 +01:00
Bond_009
52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Bond_009
c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00
David Ullmer
abcb188916 Backport pull request #8667 from jellyfin/release-10.8.z
Enable OMDB plot for non-English languages as fallback

Original-merge: f83a24ec4385e8142646ec7d13a5e6f4c9074ae9

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-31 23:08:42 -04:00
cvium
96ea865681 Refactor omdb providers 2021-11-19 15:32:07 +01:00
cvium
24024706bf Fix release build 2021-11-16 12:55:35 +01:00
cvium
b50c3852ef Remove unused dependencies 2021-11-16 12:24:17 +01:00
Bond_009
f5ca9cbc3b Enable nullable for MediaBrowser.Providers 2021-10-26 15:49:01 +02:00
Cody Robibero
9234e5bf80 Remove all instances of en-US culture 2021-09-26 09:11:25 -06:00
Bond_009
f31224fa8f Remove sync FileStream hack 2021-09-25 19:44:40 +02:00
Bond_009
e3dac4fda2 Use async FileStreams where it makes sense 2021-09-02 14:02:04 +02:00
Rich Lander
927b003143 Fix remaining MediaBrowser.Providers warnings 2021-07-22 20:16:38 -07:00
Rich Lander
fb92eab69b Fix analysis issues 2021-07-22 17:33:19 -07:00
Bond_009
cf061f7563 MediaBrowser.Providers: Remove some warnings 2021-06-27 02:00:27 +02:00
Bond_009
6f8ccab788 Move non-jellyfin extensions to separate project 2021-06-19 18:04:46 +02:00
BaronGreenback
bc1cc2d04a Remove unused using directives 2021-04-17 11:37:55 +01:00
Bond_009
a8ed753f6c FxCop -> Net Analyzers (part 2) 2021-03-13 22:33:28 +01:00
Bond_009
eeff9f52c6 Fix Omdb caching 2021-01-12 16:27:38 +01:00
crobibero
c1d1b6e9f4 Fix serialization loop 2021-01-04 07:52:44 -07:00
crobibero
a3a31952f4 Fix OMDb converter 2021-01-03 09:35:22 -07:00
David
9e0f425783 Make RootObject and SeasonRootObject internal again 2020-12-28 23:41:46 +01:00
David
21fd124bca Code revie 2020-12-27 11:15:46 +01:00
David
f73bb92ce3 Remove manual N/A removal and write directly to stream 2020-12-26 20:00:54 +01:00
David
e0499f8769 Remove attributes 2020-12-25 19:37:38 +01:00
crobibero
fc212e5e5f Remove JsonOmdbNotAvailableConverterFactory 2020-12-25 14:43:10 +01:00
crobibero
6ddbe8420f Add tests for special Omdb json 2020-12-25 14:43:10 +01:00
David
043d045448 Put json serializer options in private field 2020-12-24 11:22:34 +01:00
David
2a574914ea Use streams instead of strings 2020-12-23 19:24:58 +01:00
David
e2d338412f Fix OMDb "N/A" 2020-12-23 14:45:05 +01:00
David
276b219fbd Add missing options 2020-12-23 13:47:57 +01:00
David
e09d3ba9ef Remove custom Json serializer from Providers 2020-12-23 13:14:39 +01:00
crobibero
d12fa01d7a Fix potential null reference 2020-12-07 19:10:35 -07:00
BaronGreenback
05bd1383c1
Null pointer fix. (#4527)
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2020-11-21 14:22:23 +01:00
Greenback
9a323f6df0 More spelling corrections. 2020-11-18 13:46:14 +00:00
Bond_009
4b1c9dc9ea Pass cancellation where possible 2020-11-17 19:43:00 +01:00
Bond_009
ff49a3bb61
Missed some stuff 2020-11-14 20:28:15 +01:00
crobibero
dd078e7b82 use named client 2020-08-31 11:05:21 -06:00
Bond_009
2b400c99ef Fix warnings 2020-08-19 17:50:50 +02:00
crobibero
1325815182 Remove IHttpClient from Providers 2020-08-17 13:10:02 -06:00
Bond_009
d4092846e4 Optimize Substring and StringBuilder usage 2020-07-29 13:17:01 +02:00
Bond_009
eba488a0f8 Enable TreatWarningsAsErrors in Release for MediaBrowser.Providers 2020-06-19 20:24:13 +02:00
telans
acd4389653
fix SA1005 2020-06-15 10:41:00 +12:00
aled
22a860a806 Fix a small number of compile warnings 2020-06-06 20:17:49 +01:00
dkanada
24f7f84828 add plugin configurations for tvdb and omdb 2020-05-31 15:15:34 +09:00