Commit Graph

89 Commits

Author SHA1 Message Date
Marc Brooks 5b98a5cfbe
Merge branch 'master' into sort-nfo-data 2023-11-16 11:19:40 -06:00
Cody Robibero 2920611ffc Convert string MediaType to enum MediaType 2023-10-10 15:57:15 -06:00
Patrick Barron 40e1c5f4c6 Remove logger parameter from XmlReaderExtensions.TryReadDateTime 2023-10-06 16:56:50 -04:00
Patrick Barron 1d0ecd3188 More miscellaneous cleanup 2023-10-06 16:18:33 -04:00
Patrick Barron 0e51ffa169 Add TryReadInt to XmlReaderExtensions 2023-10-06 15:35:26 -04:00
Patrick Barron 8a7a1cc723 Add ReadNormalizedString to XmlReaderExtensions 2023-10-06 15:12:49 -04:00
Patrick Barron 99832642ce Add TryParseDateTime and TryParseDateTimeExact to XmlReaderExtensions 2023-10-06 14:18:56 -04:00
Patrick Barron 1a6ec2c740 Add GetStringArray and GetPersonArray to XmlReaderExtensions 2023-10-06 13:40:08 -04:00
Patrick Barron bdca4ed322 Add XmlReader.GetPersonFromXmlNode 2023-10-06 12:46:35 -04:00
Marc Brooks 21d8e5438e
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
2023-08-02 01:06:34 -05:00
Stepan Goremykin 6ae1903453 Use TryAdd 2023-04-06 19:17:28 +02:00
Bond-009 9c500bdca3
Merge pull request #9466 from Shadowghost/playlist-fix 2023-03-28 10:58:48 +02:00
Cody Robibero 89be3aa37f
Convert Person.Type to use PersonKind enum (#9487) 2023-03-25 11:52:02 -06:00
Shadowghost 76ae599bd3 Fix playlist creation and removal 2023-03-10 19:16:35 +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
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
Julius Vitkauskas 7d7401bf0f Fix double assignment 2022-11-01 12:46:29 +02:00
Bond_009 a9a5fcde81 Use ArgumentNullException.ThrowIfNull helper method
Did a simple search/replace on the whole repo (except the RSSDP project)
This reduces LOC and should improve performance (methods containing a throw statement don't get inlined)

```
if \((\w+) == null\)
\s+\{
\s+throw new ArgumentNullException\((.*)\);
\s+\}
```

```
ArgumentNullException.ThrowIfNull($1);
```
2022-10-06 20:21:23 +02:00
Bond_009 1d19a5be61 Fix some warnings
down to 580
2021-11-09 22:29:33 +01:00
Cody Robibero 64652b6392 Fix and disable new dotnet6 warnings 2021-11-08 12:40:52 -07:00
Cody Robibero 9234e5bf80 Remove all instances of en-US culture 2021-09-26 09:11:25 -06:00
Bond_009 653df7d8e5 Specify DateTimeStyles when possible 2021-09-21 01:21:45 +02:00
Bond_009 a6d1e542e6 Reduce allocations 2021-09-19 20:53:31 +02:00
Bond_009 f1f72c3060 Minor improvements 2021-08-04 14:40:09 +02:00
BaronGreenback f2c10471bf
Code Clean up: Use Pattern Matching (#5838)
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2021-05-05 13:37:36 +02:00
Bond_009 a8ed753f6c FxCop -> Net Analyzers (part 2) 2021-03-13 22:33:28 +01:00
Bond_009 d07eef4f25
Add tests for NFO parsers 2021-01-09 15:00:59 +01:00
crobibero 38885ffd74 Fix nullability errors in MediaBrowser.LocalMetadata 2020-11-13 08:31:02 -07:00
crobibero ef49e2b21c Fix nullable string usage. 2020-06-26 13:20:49 -06:00
crobibero 14f32b4927 Remove warnings from MediaBrowser.LocalMetadata 2020-06-13 20:04:53 -06:00
dkanada 403cd3205f
Merge pull request #3254 from crobibero/ilogger
Use typed logger where possible
2020-06-13 00:29:43 +09:00
aled 299e49f39d Fix a small number of compile warnings 2020-06-09 23:12:53 +01:00
aled 22a860a806 Fix a small number of compile warnings 2020-06-06 20:17:49 +01:00
crobibero 44957c5a9a Use typed logger where possible 2020-06-05 18:15:56 -06:00
Bond_009 87d2479b78 Fix warnings 2020-01-31 22:26:53 +01:00
Bond_009 ffd6dac03a Remove useless comments 2019-03-07 12:24:44 +01:00
Bond_009 a9302b8b53 Remove useless abstraction around XmlReaderSettings
This removes the amount of stuff that needs to be passed around
Also removes some unneeded `ManagedFileSystem` usage
2019-03-07 12:04:14 +01:00
Claus Vium 8985fb8d58 Remove support for games as a media type 2019-01-31 19:04:47 +01:00
Erwin de Haan a430568082 Unwrapped `OpenRead` and `CopyFile` 2019-01-28 22:09:58 +01:00
Erwin de Haan 38f96af079 Reformat JustAMan review pt2 changes
Refs #575
2019-01-17 20:24:39 +01:00
Erwin de Haan e867446437 ReSharper format: conform inline 'out' parameters. 2019-01-13 21:46:33 +01:00
Erwin de Haan 65bd052f3e ReSharper conform to 'var' settings 2019-01-13 21:37:13 +01:00
Erwin de Haan 8f41ba4d3a Find+Sed BOM removal *.cs: MediaBrowser.LocalMetadata-MediaBrowser.Model 2019-01-13 21:02:23 +01:00
Erwin de Haan 22879a603e Visual Studio Reformat: MediaBrowser.LocalMetadata 2019-01-13 20:25:45 +01:00
Erwin de Haan ec1f5dc317 Mayor code cleanup
Add Argument*Exceptions now use proper nameof operators.

Added exception messages to quite a few Argument*Exceptions.

Fixed rethorwing to be proper syntax.

Added a ton of null checkes. (This is only a start, there are about 500 places that need proper null handling)

Added some TODOs to log certain exceptions.

Fix sln again.

Fixed all AssemblyInfo's and added proper copyright (where I could find them)

We live in *current year*.

Fixed the use of braces.

Fixed a ton of properties, and made a fair amount of functions static that should be and can be static.

Made more Methods that should be static static.

You can now use static to find bad functions!

Removed unused variable. And added one more proper XML comment.
2019-01-10 20:38:53 +01:00
Bond_009 0f8b3c6347 Use Microsoft.Extensions.Logging abstraction 2018-12-30 22:44:38 +01:00
Bond_009 6e5d2aadaa Remove custom ToArray extension 2018-12-28 16:48:26 +01:00
stefan 48facb797e Update to 3.5.2 and .net core 2.1 2018-09-12 19:26:21 +02:00
Luke Pulverenti e7425e6205 revert servicestack.text update 2017-08-10 14:01:31 -04:00