public ReleaseProfileData?FilterProfile(ReleaseProfileData selectedProfile,
                                            SonarrProfileFilterConfig profileFilter)
    {
        if (profileFilter.Include.Any())
        {
            _log.Debug("Using inclusion filter");
            return(new ReleaseProfileData
            {
                TrashId = selectedProfile.TrashId,
                Name = selectedProfile.Name,
                IncludePreferredWhenRenaming = selectedProfile.IncludePreferredWhenRenaming,
                Required = IncludeTerms(selectedProfile.Required, profileFilter.Include),
                Ignored = IncludeTerms(selectedProfile.Ignored, profileFilter.Include),
                Preferred = IncludeTerms(selectedProfile.Preferred, profileFilter.Include)
            });
        }

        if (profileFilter.Exclude.Any())
        {
            _log.Debug("Using exclusion filter");
            return(new ReleaseProfileData
            {
                TrashId = selectedProfile.TrashId,
                Name = selectedProfile.Name,
                IncludePreferredWhenRenaming = selectedProfile.IncludePreferredWhenRenaming,
                Required = ExcludeTerms(selectedProfile.Required, profileFilter.Exclude),
                Ignored = ExcludeTerms(selectedProfile.Ignored, profileFilter.Exclude),
                Preferred = ExcludeTerms(selectedProfile.Preferred, profileFilter.Exclude)
            });
        }

        _log.Debug("Filter property present but is empty");
        return(null);
    }
    public void Empty_term_collections_not_allowed()
    {
        var validator = new ReleaseProfileDataValidator();
        var data      = new ReleaseProfileData();

        validator.Validate(data).IsValid.Should().BeFalse();
    }
    public void Allow_single_ignored_term()
    {
        var validator = new ReleaseProfileDataValidator();
        var data      = new ReleaseProfileData
        {
            TrashId  = "trash_id",
            Name     = "name",
            Required = Array.Empty <TermData>(),
            Ignored  = new[] { new TermData {
                                   Term = "term"
                               } },
            Preferred = Array.Empty <PreferredTermData>()
        };

        var result = validator.TestValidate(data);

        result.ShouldNotHaveAnyValidationErrors();
    }
示例#4
0
 public static void PrintTermsAndScores(ReleaseProfileData profile)
 {