New: Auto tag movies based on studio

This commit is contained in:
Jamie Bartlett 2025-04-03 16:59:29 +01:00 committed by GitHub
parent 4a2202ed7f
commit c10aadcc7b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 40 additions and 0 deletions

View file

@ -0,0 +1,39 @@
using System.Collections.Generic;
using System.Linq;
using FluentValidation;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations;
using NzbDrone.Core.Movies;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.AutoTagging.Specifications
{
public class StudioSpecificationValidator : AbstractValidator<StudioSpecification>
{
public StudioSpecificationValidator()
{
RuleFor(c => c.Value).NotEmpty();
}
}
public class StudioSpecification : AutoTaggingSpecificationBase
{
private static readonly StudioSpecificationValidator Validator = new ();
public override int Order => 1;
public override string ImplementationName => "Studio";
[FieldDefinition(1, Label = "AutoTaggingSpecificationStudio", Type = FieldType.Tag)]
public IEnumerable<string> Value { get; set; }
protected override bool IsSatisfiedByWithoutNegate(Movie movie)
{
return Value.Any(studio => movie.MovieMetadata?.Value?.Studio?.EqualsIgnoreCase(studio) ?? false);
}
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
}

View file

@ -126,6 +126,7 @@
"AutoTaggingSpecificationQualityProfile": "Quality Profile",
"AutoTaggingSpecificationRootFolder": "Root Folder",
"AutoTaggingSpecificationStatus": "Status",
"AutoTaggingSpecificationStudio": "Studio(s)",
"AutoTaggingSpecificationTag": "Tag",
"AutoUnmonitorPreviouslyDownloadedMoviesHelpText": "Movies deleted from the disk are automatically unmonitored in {appName}",
"Automatic": "Automatic",