1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-27 23:06:29 -04:00

New: Add Original Country information

Closes #5143
This commit is contained in:
Mark McDowall
2026-02-22 20:27:21 -08:00
parent 965b6144e3
commit da6340e421
27 changed files with 487 additions and 140 deletions
@@ -0,0 +1,47 @@
using System.Collections.Generic;
using System.Linq;
using FluentValidation;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.AutoTagging.Specifications
{
public class OriginalCountrySpecificationValidator : AbstractValidator<OriginalCountrySpecification>
{
public OriginalCountrySpecificationValidator()
{
RuleFor(c => c.Value).NotEmpty();
RuleFor(c => c.Value).Custom((countries, context) =>
{
if (countries.Any(c => c.Length != 3))
{
context.AddFailure("Country code must be 3 characters long");
}
});
}
}
public class OriginalCountrySpecification : AutoTaggingSpecificationBase
{
private static readonly OriginalCountrySpecificationValidator Validator = new();
public override int Order => 1;
public override string ImplementationName => "Original Country";
[FieldDefinition(1, Label = "AutoTaggingSpecificationOriginalCountry", Type = FieldType.Tag)]
public IEnumerable<string> Value { get; set; }
protected override bool IsSatisfiedByWithoutNegate(Series series)
{
return Value.Any(network => series.OriginalCountry.EqualsIgnoreCase(network));
}
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
}
@@ -0,0 +1,15 @@
using FluentMigrator;
using NzbDrone.Core.Datastore.Migration.Framework;
namespace NzbDrone.Core.Datastore.Migration
{
[Migration(227)]
public class original_country : NzbDroneMigrationBase
{
protected override void MainDbUpgrade()
{
Alter.Table("Series")
.AddColumn("OriginalCountry").AsString().Nullable();
}
}
}
@@ -136,6 +136,7 @@
"AutoTaggingSpecificationMaximumYear": "Maximum Year",
"AutoTaggingSpecificationMinimumYear": "Minimum Year",
"AutoTaggingSpecificationNetwork": "Network(s)",
"AutoTaggingSpecificationOriginalCountry": "Country",
"AutoTaggingSpecificationOriginalLanguage": "Language",
"AutoTaggingSpecificationQualityProfile": "Quality Profile",
"AutoTaggingSpecificationRootFolder": "Root Folder",
@@ -1616,6 +1617,7 @@
"OrganizeSelectedSeriesModalConfirmation": "Are you sure you want to organize all files in the {count} selected series?",
"OrganizeSelectedSeriesModalHeader": "Organize Selected Series",
"Original": "Original",
"OriginalCountry": "Original Country",
"OriginalLanguage": "Original Language",
"Other": "Other",
"OutputPath": "Output Path",
@@ -33,6 +33,7 @@ namespace NzbDrone.Core.MetadataSource.SkyHook.Resource
public string Network { get; set; }
public string ImdbId { get; set; }
public string OriginalLanguage { get; set; }
public string OriginalCountry { get; set; }
public List<ActorResource> Actors { get; set; }
public List<string> Genres { get; set; }
@@ -239,6 +239,7 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
series.Status = MapSeriesStatus(show.Status);
series.Ratings = MapRatings(show.Rating);
series.Genres = show.Genres;
series.OriginalCountry = show.OriginalCountry;
if (show.ContentRating.IsNotNullOrWhiteSpace())
{
@@ -61,21 +61,9 @@ namespace NzbDrone.Core.Notifications.CustomScript
var releaseGroup = remoteEpisode.ParsedEpisodeInfo.ReleaseGroup;
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "Grab");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
AddInstanceVariables(environmentVariables, "Grab");
AddSeriesVariables(environmentVariables, series);
environmentVariables.Add("Sonarr_Release_EpisodeCount", remoteEpisode.Episodes.Count.ToString());
environmentVariables.Add("Sonarr_Release_SeasonNumber", remoteEpisode.Episodes.First().SeasonNumber.ToString());
environmentVariables.Add("Sonarr_Release_EpisodeNumbers", string.Join(",", remoteEpisode.Episodes.Select(e => e.EpisodeNumber)));
@@ -109,23 +97,10 @@ namespace NzbDrone.Core.Notifications.CustomScript
var sourcePath = message.SourcePath;
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "Download");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
AddInstanceVariables(environmentVariables, "Download");
AddSeriesVariables(environmentVariables, series);
environmentVariables.Add("Sonarr_IsUpgrade", message.OldFiles.Any().ToString());
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
environmentVariables.Add("Sonarr_EpisodeFile_Id", episodeFile.Id.ToString());
environmentVariables.Add("Sonarr_EpisodeFile_EpisodeCount", episodeFile.Episodes.Value.Count.ToString());
environmentVariables.Add("Sonarr_EpisodeFile_RelativePath", episodeFile.RelativePath);
@@ -182,22 +157,9 @@ namespace NzbDrone.Core.Notifications.CustomScript
var sourcePath = message.SourcePath;
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "Download");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
AddInstanceVariables(environmentVariables, "Download");
AddSeriesVariables(environmentVariables, series);
environmentVariables.Add("Sonarr_EpisodeFile_Ids", string.Join("|", episodeFiles.Select(f => f.Id)));
environmentVariables.Add("Sonarr_EpisodeFile_Count", message.EpisodeFiles.Count.ToString());
environmentVariables.Add("Sonarr_EpisodeFile_RelativePaths", string.Join("|", episodeFiles.Select(f => f.RelativePath)));
@@ -238,22 +200,9 @@ namespace NzbDrone.Core.Notifications.CustomScript
{
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "Rename");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
AddInstanceVariables(environmentVariables, "Rename");
AddSeriesVariables(environmentVariables, series);
environmentVariables.Add("Sonarr_EpisodeFile_Ids", string.Join(",", renamedFiles.Select(e => e.EpisodeFile.Id)));
environmentVariables.Add("Sonarr_EpisodeFile_RelativePaths", string.Join("|", renamedFiles.Select(e => e.EpisodeFile.RelativePath)));
environmentVariables.Add("Sonarr_EpisodeFile_Paths", string.Join("|", renamedFiles.Select(e => Path.Combine(series.Path, e.EpisodeFile.RelativePath))));
@@ -270,23 +219,9 @@ namespace NzbDrone.Core.Notifications.CustomScript
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "EpisodeFileDelete");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
environmentVariables.Add("Sonarr_EpisodeFile_DeleteReason", deleteMessage.Reason.ToString());
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
AddInstanceVariables(environmentVariables, "EpisodeFileDelete");
AddSeriesVariables(environmentVariables, series);
environmentVariables.Add("Sonarr_EpisodeFile_Id", episodeFile.Id.ToString());
environmentVariables.Add("Sonarr_EpisodeFile_EpisodeCount", episodeFile.Episodes.Value.Count.ToString());
environmentVariables.Add("Sonarr_EpisodeFile_RelativePath", episodeFile.RelativePath);
@@ -311,22 +246,8 @@ namespace NzbDrone.Core.Notifications.CustomScript
var series = message.Series;
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "SeriesAdd");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
AddInstanceVariables(environmentVariables, "SeriesAdd");
AddSeriesVariables(environmentVariables, series);
ExecuteScript(environmentVariables);
}
@@ -336,23 +257,8 @@ namespace NzbDrone.Core.Notifications.CustomScript
var series = deleteMessage.Series;
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "SeriesDelete");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
environmentVariables.Add("Sonarr_Series_DeletedFiles", deleteMessage.DeletedFiles.ToString());
AddInstanceVariables(environmentVariables, "SeriesDelete");
AddSeriesVariables(environmentVariables, series);
ExecuteScript(environmentVariables);
}
@@ -361,9 +267,8 @@ namespace NzbDrone.Core.Notifications.CustomScript
{
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "HealthIssue");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
AddInstanceVariables(environmentVariables, "HealthIssue");
environmentVariables.Add("Sonarr_Health_Issue_Level", Enum.GetName(typeof(HealthCheckResult), healthCheck.Type));
environmentVariables.Add("Sonarr_Health_Issue_Message", healthCheck.Message);
environmentVariables.Add("Sonarr_Health_Issue_Type", healthCheck.Source.Name);
@@ -376,9 +281,8 @@ namespace NzbDrone.Core.Notifications.CustomScript
{
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "HealthRestored");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
AddInstanceVariables(environmentVariables, "HealthRestored");
environmentVariables.Add("Sonarr_Health_Restored_Level", Enum.GetName(typeof(HealthCheckResult), previousCheck.Type));
environmentVariables.Add("Sonarr_Health_Restored_Message", previousCheck.Message);
environmentVariables.Add("Sonarr_Health_Restored_Type", previousCheck.Source.Name);
@@ -391,9 +295,8 @@ namespace NzbDrone.Core.Notifications.CustomScript
{
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "ApplicationUpdate");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
AddInstanceVariables(environmentVariables, "ApplicationUpdate");
environmentVariables.Add("Sonarr_Update_Message", updateMessage.Message);
environmentVariables.Add("Sonarr_Update_NewVersion", updateMessage.NewVersion.ToString());
environmentVariables.Add("Sonarr_Update_PreviousVersion", updateMessage.PreviousVersion.ToString());
@@ -406,22 +309,9 @@ namespace NzbDrone.Core.Notifications.CustomScript
var series = message.Series;
var environmentVariables = new StringDictionary();
environmentVariables.Add("Sonarr_EventType", "ManualInteractionRequired");
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
environmentVariables.Add("Sonarr_Series_Id", series?.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series?.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series?.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series?.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series?.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series?.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series?.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series?.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series?.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series?.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series?.OriginalLanguage)?.ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series?.Genres ?? new List<string>()));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
AddInstanceVariables(environmentVariables, "ManualInteractionRequired");
AddSeriesVariables(environmentVariables, series);
environmentVariables.Add("Sonarr_Download_Client", message.DownloadClientInfo?.Name ?? string.Empty);
environmentVariables.Add("Sonarr_Download_Client_Type", message.DownloadClientInfo?.Type ?? string.Empty);
environmentVariables.Add("Sonarr_Download_Id", message.DownloadId ?? string.Empty);
@@ -496,5 +386,30 @@ namespace NzbDrone.Core.Notifications.CustomScript
.OrderBy(l => l)
.ToList();
}
private void AddInstanceVariables(StringDictionary environmentVariables, string eventType)
{
environmentVariables.Add("Sonarr_EventType", eventType);
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
}
private void AddSeriesVariables(StringDictionary environmentVariables, Series series)
{
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
environmentVariables.Add("Sonarr_Series_Title", series.Title);
environmentVariables.Add("Sonarr_Series_TitleSlug", series.TitleSlug);
environmentVariables.Add("Sonarr_Series_Path", series.Path);
environmentVariables.Add("Sonarr_Series_TvdbId", series.TvdbId.ToString());
environmentVariables.Add("Sonarr_Series_TvMazeId", series.TvMazeId.ToString());
environmentVariables.Add("Sonarr_Series_TmdbId", series.TmdbId.ToString());
environmentVariables.Add("Sonarr_Series_ImdbId", series.ImdbId ?? string.Empty);
environmentVariables.Add("Sonarr_Series_Type", series.SeriesType.ToString());
environmentVariables.Add("Sonarr_Series_Year", series.Year.ToString());
environmentVariables.Add("Sonarr_Series_OriginalCountry", series.OriginalCountry);
environmentVariables.Add("Sonarr_Series_OriginalLanguage", IsoLanguages.Get(series.OriginalLanguage).ThreeLetterCode);
environmentVariables.Add("Sonarr_Series_Genres", string.Join("|", series.Genres));
environmentVariables.Add("Sonarr_Series_Tags", string.Join("|", GetTagLabels(series)));
}
}
}
@@ -23,6 +23,7 @@ namespace NzbDrone.Core.Notifications.Webhook
public List<WebhookImage> Images { get; set; }
public List<string> Tags { get; set; }
public Language OriginalLanguage { get; set; }
public string OriginalCountry { get; set; }
public WebhookSeries()
{
@@ -46,6 +47,7 @@ namespace NzbDrone.Core.Notifications.Webhook
Images = series.Images.Select(i => new WebhookImage(i)).ToList();
Tags = tags;
OriginalLanguage = series.OriginalLanguage;
OriginalCountry = series.OriginalCountry;
}
}
}
@@ -111,6 +111,7 @@ namespace NzbDrone.Core.Tv
series.Actors = seriesInfo.Actors;
series.Genres = seriesInfo.Genres;
series.Certification = seriesInfo.Certification;
series.OriginalCountry = seriesInfo.OriginalCountry;
try
{
+1 -1
View File
@@ -57,7 +57,7 @@ namespace NzbDrone.Core.Tv
public DateTime? LastAired { get; set; }
public LazyLoaded<QualityProfile> QualityProfile { get; set; }
public Language OriginalLanguage { get; set; }
public string OriginalCountry { get; set; }
public List<Season> Seasons { get; set; }
public HashSet<int> Tags { get; set; }
public AddSeriesOptions AddOptions { get; set; }
@@ -47,6 +47,7 @@ public class SeriesResource : RestResource
public string? Folder { get; set; }
public string? Certification { get; set; }
public List<string>? Genres { get; set; }
public string? OriginalCountry { get; set; }
public HashSet<int>? Tags { get; set; }
public DateTime Added { get; set; }
public AddSeriesOptions? AddOptions { get; set; }
@@ -71,6 +72,7 @@ public static class SeriesResourceMapper
Images = model.Images.JsonClone(),
Seasons = model.Seasons.ToResource(includeSeasonImages),
Year = model.Year,
OriginalCountry = model.OriginalCountry,
OriginalLanguage = model.OriginalLanguage,
Path = model.Path,
QualityProfileId = model.QualityProfileId,