Commit Graph

20 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
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
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
fde84a1e00 Refactor extras parsing 2021-12-07 15:24:57 +01:00
Bond_009
67147400bf Fix issue #6123 2021-10-05 21:47:59 +02:00
cvium
42a2cc1747 Remove some unnecessary allocations 2021-05-24 00:30:41 +02:00
BaronGreenback
bc1cc2d04a Remove unused using directives 2021-04-17 11:37:55 +01: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
Bond_009
228b33a23b Minor improvements 2020-09-20 14:02:41 +02:00
Bond_009
735e7c3f7d Fix VideoResolver and tests 2020-04-21 12:11:55 +02:00
dtparr
41f6fa0ae8 Whitespace fix
Co-Authored-By: Bond-009 <bond.009@outlook.com>
2020-04-11 13:33:16 -05:00
dtparr
e027f4645f Whitespace fix
Co-Authored-By: Bond-009 <bond.009@outlook.com>
2020-04-11 13:33:06 -05:00
dtparr
8e67cb541e Refactor the NamingOptions instantiations from both new and pre-existing facts/theories to be a readonly field to save instantiation costs 2020-04-10 23:00:30 +00:00
dtparr
8e42d0063d Fix tab/space issue causing github oddity 2020-04-10 21:21:22 +00:00
dtparr
ce86455747 Update to use the Theory/InlineData method to parameterize unit tests 2020-04-10 21:18:41 +00:00
dtparr
1f33c51977 Add Unit Test for the Extras directories.
Parameterize the valid extras as well as the null conditions.
2020-04-10 03:50:17 +00:00
Bond_009
35151553e3 Add back all old emby tests 2019-12-06 20:41:39 +01:00