Commit Graph

73 Commits

Author SHA1 Message Date
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)
Some checks are pending
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
* 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
renovate[bot]
aed00733f8 Update dependency xunit to 2.9.1 (#12687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-09-22 19:44:37 -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
7bf831da62 Fix tests 2023-12-18 22:02:31 +01:00
Stepan Goremykin
0870af330d Remove redundant verbatim string prefixes 2023-10-08 00:15:38 +02:00
mammo0
0fd46a100b fixed typo
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-03-15 13:01:39 +01:00
mammo0
90e8aad05d fixed FourSisters test case
The files should be treated as separate movies and should not be stacked, because the parttype is missing.
2023-03-15 11:56:11 +01:00
mammo0
1c57c52474 fixed stacking test cases
Movies should not be stacked if no parttype is given.
2023-03-15 11:54:44 +01:00
Bond-009
5b493e14ac Improve alternate ordering (#9336) 2023-02-20 08:07:51 -07:00
Bond_009
59920b4052 Make exact match primary video 2023-02-15 18:05:49 +01:00
xdo
1f658f59b8 Fix multi cleaning (#8978)
Right now, a movie Name `Iron Man Multi 1080p.mkv` will be searched as
`Iron
Man Multi` leading to no result.

The cleaning regex was containing multi but it looks like a typo joined
`multi` and `subs` in the same term.

Co-authored-by: Xavier-Do <xavier.dolle@gmail.com>
2022-12-29 19:40:24 -07: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
photonconvergence
09e8a7e62c Fix extra type differentiation
Change rules for Featurettes and Shorts so they don't both get classed as ExtraType.Clip.

Fix test that these changes break
2022-10-27 18:01:04 -07:00
Hannes Braun
4edeccc5e0 Remove redundant using directives 2022-09-28 16:26:03 +02:00
cvium
2749509f00 Use dedicated resolvers for extras 2021-12-28 00:37:40 +01:00
Joe Rogers
cf29aae690 Add rule to pick up theme videos 2021-12-24 21:21:19 +00:00
cvium
83a94aa612 Fix extras folders 2021-12-20 12:15:20 +01:00
cvium
220443eca1 Simplify StackResolver 2021-12-10 14:23:31 +01:00
cvium
6030946d78 Fixes 2021-12-07 19:23:30 +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
KonH
b6bf43af45 Fix warning: Using directive is not required by the code and can be safely removed (#2149) 2021-10-03 10:49:41 +07:00
ianjazz246
19b8bcaec4 Use TheoryData instead of MemberData and ClassData 2021-09-11 13:31:24 -07:00
sushilicious
26f8b501e7 Made CleanStringParser more robust
Now it can handle [...] at beginning of string
2021-08-03 14:19:36 -07: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
BaronGreenback
bc1cc2d04a Remove unused using directives 2021-04-17 11:37:55 +01: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
7d69c2550c fix copy/paste error in test 2021-03-10 19:30:23 +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
9ed7f429c0 FxCop -> Net Analyzers (part 1) 2021-03-09 03:04:47 +01:00
Bond_009
5241bd41ef Add code analysis attributes where appropriate 2021-03-09 01:28:21 +01:00
cvium
e0db17a935 do not throw ArgumentNullException in TryCleanString 2021-03-07 22:49:31 +01:00
Bond_009
54eee41207 Fix broken test 2021-02-17 10:38:44 +01:00
Bond_009
956ca0e5aa 100% branch coverage for Jellyfin.Naming 2021-01-21 15:46:10 +01:00
crobibero
f512d5167d Remove broken CleanDateTimes regex 2020-11-20 11:27:37 -07:00
crobibero
5b8e248d72 Merge remote-tracking branch 'upstream/master' into video-resolver 2020-11-20 11:21:24 -07:00
Stepan
3bca1181b3 Taken suggestions from code review and created test for ExtraRuleType.Regex instead of throwing exception there. 2020-11-12 13:16:33 +01:00
Stepan
3466dc5581 Finish coverage for Emby.Naming.Video 2020-11-05 16:59:15 +01:00
Stepan
5741150367 Enable MultiVersion video tests and added support for naming based on tests 11 & 8 2020-11-05 14:51:27 +01:00
BaronGreenback
d42bb515ce Merge branch 'master' into video-resolver 2020-10-17 09:26:14 +01:00
Bond_009
228b33a23b Minor improvements 2020-09-20 14:02:41 +02:00
DirtyRacer1337
6ac8955715 Add tests 2020-08-12 22:20:31 +07:00