72 Commits

Author SHA1 Message Date
Marc Brooks
a5f3d942f6
Merge branch 'master' into sort-nfo-data 2025-03-12 10:33:27 -05:00
Shadowghost
06be4998e1 Backport pull request #13611 from jellyfin/release-10.10.z
Remove empty ParentIndexNumber workaround

Original-merge: 1daf761aece5114a6ac3b7b938f114e70b83d99e

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-25 15:26:47 -05:00
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
97a02f5803 Remove BOM from UTF-8 files
I think some people need to change their IDE configuration ;)
2024-08-30 15:29:48 +02: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
Niels van Velzen
407cf5d0bf
Add MediaStreamProtocol enum (#10153)
* Add MediaStreamProtocol enum

* Add default handling for enum during deserialization

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-04 16:44:54 -07:00
Bond_009
d7748cfa04 Multiple Stream changes
* Remove useless MemoryStream in DlnaHttpClient
* Use HttpContent.ReadFromJsonAsync extension
* Call ConfigureAwait for IAsyncDisposable
* Use HttpContent.CopyToAsync where possible
2023-10-11 18:32:57 +02:00
Cody Robibero
89be3aa37f
Convert Person.Type to use PersonKind enum (#9487) 2023-03-25 11:52:02 -06:00
Bond_009
4b01aaa0f7 Allocate less Lists 2023-03-01 00:44:57 +01:00
Shadowghost
e7a7edbac0
Various fixes (#9361) 2023-02-20 08:04:30 -07: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
b880dc8a4a Use our own Contains extension 2021-12-20 13:31:07 +01:00
cvium
71a0abe211 Remove unnecessary N/A checks (converter changes them to null) 2021-11-20 08:32:07 +01:00
cvium
d8c3b8e7f8 Don't use AppendFormat 2021-11-20 08:24:52 +01: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
93fd1c7075 Fix 2021-11-16 12:27:27 +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
13fbfe6091 Target net6.0 2021-09-24 20:15:46 +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
Cody Robibero
5c57569692
Merge branch 'master' into PluginDowngrade 2020-12-30 18:11:37 -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