118 Commits

Author SHA1 Message Date
Varoon Pazhyanur
cbb569a277 Make private Emby.Naming.Video.StackResolver.StackMetadata sealed to silence compiler warning 2025-09-08 21:21:43 -04:00
Sven Cazier
7785b51f57 Enhance extra rules for video and audio file naming; update tests for new naming conventions 2025-07-26 23:24:58 +02:00
Michael McElroy
f02190c394 Fix for Issue #12142: Fix ExtraRuleResolver filtering out top level folders (#12170)
* Fix ExtraRuleResolver to stop filtering out libraries where the name of the base folder matches an 'videos extras' rule with an ExtraRuleType of DirectoryName

Currently the ExtraRuleResolver code doesn't know anything about the root folder of the current library. As a result, when we're attempting to add items in a library where the root folder has a name with a match in Emby.Naming.Common.NamingOptions.VideoExtraRules, the entire library is being ignored as a Video Extras folder.

Need to pass in the root folder of the current library to compare to the path of the current item being evaluated, and if we match the current item's folder to the root folder, then we ignore the ExtraRules with a type of DirectoryName and we continue to scan deeper in the library. Filters still apply to subfolders within the library itself.

* Update CONTRIBUTORS.md

* Update Emby.Naming/Video/ExtraRuleResolver.cs

* Update ExtraTests.cs

Add tests for this fix.

Also add missing tests in TestKodiExtras, TestExpandedExtras, and TestSample, and expanded TestDirectories into TestDirectoriesAudioExtras and TestDirectoriesVideoExtras. There were no checks for the theme-music folder name previously.

* Update ExtraTests.cs

Removed unnecessary "using System"

* In MediaBrowser.Model, upgrade System.Text.Json from 8.0.3 (vulnerable - high risk) to 8.0.4

* Update ExtraTests.cs

Remove empty lines in usings

* Revert "In MediaBrowser.Model, upgrade System.Text.Json from 8.0.3 (vulnerable - high risk) to 8.0.4"
2025-03-27 18:18:19 -06:00
gnattu
901573473d Sort by version name before resolution sorting (#12621) 2024-09-18 07:22:33 -06: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
b176beb88e Reduce string allocations
Some simple changes to reduce the number of allocated strings
2023-10-06 01:04:25 +02:00
Bond_009
b5f0760db8 Use RegexGenerator where possible 2023-06-28 17:07:57 +02:00
SenorSmartyPants
b96420b786 Clean Extra Names
- Adds regular expression to CleanStrings to remove suffix style extra naming from the name presented in JF.
- Override Resolve for Extras to enable parsename
- remove exclusion on parsename of extratypes
2023-03-09 17:44:12 -06:00
Bond-009
5b493e14ac Improve alternate ordering (#9336) 2023-02-20 08:07:51 -07:00
Bond_009
48263078b4 Reduce string allocations by regex 2023-02-17 15:00:06 +01:00
Bond_009
59920b4052 Make exact match primary video 2023-02-15 18:05:49 +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
cvium
2749509f00 Use dedicated resolvers for extras 2021-12-28 00:37:40 +01:00
Bond_009
cbfa355e31 Update StyleCop 2021-12-24 18:28:27 +01:00
Cody Robibero
076a13abeb Merge pull request #7029 from cvium/allocations_maybe 2021-12-24 01:59:25 +00:00
cvium
b880dc8a4a Use our own Contains extension 2021-12-20 13:31:07 +01:00
cvium
91292b8ea5 Fix build 2021-12-20 12:34:16 +01:00
cvium
83a94aa612 Fix extras folders 2021-12-20 12:15:20 +01:00
cvium
c3c4dc6839 Review 2021-12-14 23:05:45 +01:00
cvium
9e665ff520 Fix usage of RegexOptions.Compiled 2021-12-13 08:27:20 +01:00
Claus Vium
5c3d0b5510 Update Emby.Naming/Video/ExtraResolver.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-12-13 08:22:17 +01:00
cvium
6d6fb1bba3 Rename unknown parttype to "unknown" 2021-12-11 16:02:51 +01:00
cvium
681bfbd535 Remove duplication 2021-12-10 14:34:46 +01:00
cvium
220443eca1 Simplify StackResolver 2021-12-10 14:23:31 +01:00
cvium
fde84a1e00 Refactor extras parsing 2021-12-07 15:24:57 +01:00
Claus Vium
39d5bdac96 Change ReadOnlySpan to string following PR 6383 (#6734) 2021-10-26 14:47:34 +02:00
Claus Vium
dc72d90703 Merge pull request #6383 from sushilicious/master
Made default parser a tiny bit mroe robust
2021-10-26 12:10:57 +02:00
Bond_009
67147400bf Fix issue #6123 2021-10-05 21:47:59 +02:00
Bond-009
e5a29824e5 Merge branch 'master' into minor15 2021-08-13 00:33:18 +02:00
sushilicious
6bc7d78f6f Update Emby.Naming/Video/CleanStringParser.cs
Cleaned up code a bit

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-05 13:09:42 -07:00
sushilicious
b2a10609af Made CleanStringParser go through regexps only once 2021-08-04 23:25:54 -07:00
sushilicious
7fdef4b82b Merge branch 'master' of https://github.com/jellyfin/jellyfin into HEAD 2021-08-04 23:15:48 -07:00
Bond_009
f1f72c3060 Minor improvements 2021-08-04 14:40:09 +02:00
sushilicious
26f8b501e7 Made CleanStringParser more robust
Now it can handle [...] at beginning of string
2021-08-03 14:19:36 -07:00
Bond_009
1f99c9b90c Minor fixes 2021-07-06 00:01:33 +02:00
Bond_009
6f8ccab788 Move non-jellyfin extensions to separate project 2021-06-19 18:04:46 +02:00
cvium
66de842896 Use stackalloc in Format3DParser.Parse 2021-06-12 00:16:33 +02:00
Claus Vium
3b5214e595 Update Emby.Naming/Video/VideoListResolver.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-05-28 19:01:29 +02:00
cvium
42a2cc1747 Remove some unnecessary allocations 2021-05-24 00:30:41 +02:00
cvium
1027792b16 Review changes 2021-05-19 08:51:46 +02:00
cvium
1b49435a0e Reduce some allocations 2021-05-16 14:49:11 +02:00
cvium
23c3188501 revert underscore as a multiversion separator 2021-03-15 23:24:59 +01:00
Bond-009
d7f0aaaec1 Merge pull request #5417 from Bond-009/codeanal
Add code analysis attributes where appropriate
2021-03-12 00:15:12 +01:00
cvium
b0af11c34e make the eligibility check more strict wrt. brackets 2021-03-10 19:29:52 +01:00
cvium
3824c09e77 fix multiversion eligibility check for complex folder names 2021-03-10 10:47:35 +01:00
Bond_009
5241bd41ef Add code analysis attributes where appropriate 2021-03-09 01:28:21 +01:00
cvium
fcacae8cde return empty span instead of null for backwards compat 2021-03-07 22:59:08 +01:00
cvium
e0db17a935 do not throw ArgumentNullException in TryCleanString 2021-03-07 22:49:31 +01:00
Bond_009
956ca0e5aa 100% branch coverage for Jellyfin.Naming 2021-01-21 15:46:10 +01:00