Commit Graph

310 Commits

Author SHA1 Message Date
Marc Brooks
114591c1aa Clean up usings and honor SortName 2025-02-25 01:51:38 -06:00
Marc Brooks
e8cbcde02e Merge branch 'master' into sort-nfo-data 2025-02-03 19:48:59 -06:00
Bond-009
9734892322 Merge pull request #12925 from Bond-009/await
Always await instead of directly returning Task
2025-01-28 11:29:46 +01:00
benedikt257
600a09f1fc Backport pull request #12891 from jellyfin/release-10.10.z
Fix TMDB import failing when no IMDB ID is set for a movie

Original-merge: c6629aebf8

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-03 10:55:48 -05:00
Bond_009
d2db700402 Always await instead of directly returning Task
https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#prefer-asyncawait-over-directly-returning-task

The performance impact is negligible (and it's me saying that!)
2024-10-31 17:02:06 +01: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
CS
919b8ef9e2 Use collection initializers when possible 2024-08-02 16:19:20 +02:00
CS
b34cbc2f16 Update default artwork repository url to point to githubusercontent.com domain 2024-08-02 16:12:55 +02:00
Bond_009
ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02:00
Shadowghost
034c13c48f Backport pull request #12073 from jellyfin/release-10.9.z
Fix Music Brainz release group query

Original-merge: 23a660e917

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:52 -04:00
Shadowghost
b063dfd2e3 Backport pull request #11648 from jellyfin/release-10.9.z
Fix series status parsing

Original-merge: c6c48a2b47

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:42 -04: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
Cody Robibero
c8d93d9352 Return backdrops with text as thumb for tmdb (#11078) 2024-02-28 17:39:31 -07:00
Joe Rogers
e91de654d7 Stop saving Jellyfin API key in settings xml 2023-12-17 22:14:11 -05:00
Joe Rogers
f7479bc730 Fix missing posters in collection identify 2023-12-16 23:28:50 -05:00
Joe Rogers
c8da8eefe0 Add api key to configuration 2023-12-16 23:24:23 -05:00
Bond_009
b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Cody Robibero
c7a94d48ae Convert ItemSortBy to enum (#9765)
* Convert ItemSortBy to enum

* Rename Unknown to Default
2023-11-09 14:00:13 -07:00
Bond-009
5e48278e2a Merge pull request #10078 from scampower3/master
Combine Title and Overview for multi-episodes files for the TMDB provider
2023-11-08 11:18:12 +01:00
LJQ
1d19fe50b4 Deep copy instead of Shallow copy 2023-10-16 21:18:25 +08:00
LJQ
298a7488a3 Applied 2nd Round of Suggested Changes 2023-10-16 19:48:01 +08:00
Stepan Goremykin
38d962242a Merge branch 'master' into fix-resharper-warnings
# Conflicts:
#	Emby.Server.Implementations/Updates/InstallationManager.cs
#	tests/Jellyfin.Server.Integration.Tests/OpenApiSpecTests.cs
2023-10-14 00:45:52 +02: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
Stepan Goremykin
3f9ee316d5 Use non nullable property type when possible 2023-10-08 00:22:36 +02:00
LJQ
136a4abbd3 Applied Suggested Changes 2023-09-11 20:29:49 +08:00
LJQ
0676b878f3 Removed unused imports 2023-08-04 21:25:43 +08:00
LJQ
28a6694f6e Combined Title and Overview for multi-episodes files for the TMDB provider 2023-08-04 21:19:08 +08:00
Bond_009
b5f0760db8 Use RegexGenerator where possible 2023-06-28 17:07:57 +02:00
Bond-009
3982b0e057 Reduce bottlenecks scan code (#9863) 2023-06-21 21:01:47 -06:00
Cody Robibero
89be3aa37f Convert Person.Type to use PersonKind enum (#9487) 2023-03-25 11:52:02 -06:00
Bond_009
d8ec3a5470 Reduce usage of GetAwaiter().GetResult() 2023-03-14 12:05:49 +01:00
Bond_009
4b01aaa0f7 Allocate less Lists 2023-03-01 00:44:57 +01:00
Bond_009
e35119987a Enable nullable for more files 2023-02-25 17:20:53 +01:00
Bond-009
eaeb65f94d Update MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeImageProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-02-24 16:22:30 +01:00
Bond_009
ab24c0e2cf Enable nullable for more files 2023-02-23 19:09:16 +01:00
Shadowghost
e7a7edbac0 Various fixes (#9361) 2023-02-20 08:04:30 -07:00
Bond-009
720852f708 Merge pull request #9356 from Bond-009/tryparse 2023-02-20 11:09:54 +01:00
Shadowghost
a9bfb13dc7 Format MusicBrainz config page 2023-02-19 18:20:30 +01:00
Shadowghost
815aa40170 Fix MusicBrainz config page input validation 2023-02-19 18:12:28 +01:00
Shadowghost
3c921e25da Fix MusicBrainz album queries and releasegroup handling 2023-02-19 17:54:59 +01: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
Shadowghost
4baa534679 Fix MusicBrainz configuration parsing and update 2023-02-19 16:16:34 +01:00
Shadowghost
2f4e43b87f Add migration for MusicBrainz settings 2023-02-19 09:30:27 +01:00
Shadowghost
3c5b0e0035 Fix MusicBrainz default server 2023-02-18 21:22:45 +01:00
cvium
b5d5667965 remove a hardcoded DefaultAuthorization 2023-02-09 14:40:50 +01:00
Bond_009
b934b346e1 Fix all warnings in MediaBrowser.Providers 2023-01-11 10:36:18 +01:00
Bond-009
16fdb127ab Check HTTP status code before writing response to file (#8863)
fix https://github.com/jellyfin/jellyfin/issues/8084
2022-12-07 18:14:32 +01:00
Bond_009
b366dc2e6e Use ArgumentException.ThrowIfNullOrEmpty 2022-12-07 16:43:59 +01:00