New: Create new metadata type and parse theme.xxx as movietheme files to prevent them from being renamed

This commit is contained in:
Randell L Hodges 2025-05-18 13:10:11 -05:00
parent cc8bffc272
commit 01476b64e8
3 changed files with 21 additions and 1 deletions

View file

@ -61,5 +61,18 @@ public void should_return_null_for_scene_nfo()
Mocker.GetMock<IDetectXbmcNfo>() Mocker.GetMock<IDetectXbmcNfo>()
.Verify(v => v.IsXbmcNfoFile(It.IsAny<string>()), Times.Once()); .Verify(v => v.IsXbmcNfoFile(It.IsAny<string>()), Times.Once());
} }
[TestCase("theme.mp3", MetadataType.MovieTheme)]
[TestCase("theme.mpa", MetadataType.MovieTheme)]
[TestCase("Theme.x-flac", MetadataType.MovieTheme)]
public void should_return_expected_metadata_type(string fileName, MetadataType metadataType)
{
var path = Path.Combine(_movie.Path, fileName.AsOsAgnostic());
var metadataFile = Subject.FindMetadataFile(_movie, path);
metadataFile.Should().NotBeNull();
metadataFile.Type.Should().Be(metadataType);
}
} }
} }

View file

@ -83,6 +83,12 @@ public override MetadataFile FindMetadataFile(Movie movie, string path)
RelativePath = movie.Path.GetRelativePath(path) RelativePath = movie.Path.GetRelativePath(path)
}; };
if (Path.GetFileNameWithoutExtension(filename).Equals("theme", StringComparison.OrdinalIgnoreCase))
{
metadata.Type = MetadataType.MovieTheme;
return metadata;
}
if (MovieImagesRegex.IsMatch(filename)) if (MovieImagesRegex.IsMatch(filename))
{ {
metadata.Type = MetadataType.MovieImage; metadata.Type = MetadataType.MovieImage;

View file

@ -4,6 +4,7 @@ public enum MetadataType
{ {
Unknown = 0, Unknown = 0,
MovieMetadata = 1, MovieMetadata = 1,
MovieImage = 2 MovieImage = 2,
MovieTheme = 3
} }
} }