diff --git a/src/NzbDrone.Core/Datastore/Migration/049_add_hash_to_metadata_files.cs b/src/NzbDrone.Core/Datastore/Migration/049_add_hash_to_metadata_files.cs new file mode 100644 index 000000000..c3fdd6dfa --- /dev/null +++ b/src/NzbDrone.Core/Datastore/Migration/049_add_hash_to_metadata_files.cs @@ -0,0 +1,14 @@ +using NzbDrone.Core.Datastore.Migration.Framework; +using FluentMigrator; + +namespace NzbDrone.Core.Datastore.Migration +{ + [Migration(49)] + public class add_hash_to_metadata_files : NzbDroneMigrationBase + { + protected override void MainDbUpgrade() + { + Alter.Table("MetadataFiles").AddColumn("Hash").AsString().Nullable(); + } + } +} diff --git a/src/NzbDrone.Core/MetaData/Consumers/Roksbox/RoksboxMetadata.cs b/src/NzbDrone.Core/MetaData/Consumers/Roksbox/RoksboxMetadata.cs index cb4c98a57..85908f1ac 100644 --- a/src/NzbDrone.Core/MetaData/Consumers/Roksbox/RoksboxMetadata.cs +++ b/src/NzbDrone.Core/MetaData/Consumers/Roksbox/RoksboxMetadata.cs @@ -96,7 +96,7 @@ namespace NzbDrone.Core.Metadata.Consumers.Roksbox }; //Series and season images are both named folder.jpg, only season ones sit in season folders - if (String.Compare(filename, parentdir.Name, true) == 0) + if (String.Compare(filename, parentdir.Name, StringComparison.InvariantCultureIgnoreCase) == 0) { var seasonMatch = SeasonImagesRegex.Match(parentdir.Name); if (seasonMatch.Success) @@ -128,16 +128,22 @@ namespace NzbDrone.Core.Metadata.Consumers.Roksbox if (parseResult != null && !parseResult.FullSeason) { - switch (Path.GetExtension(filename).ToLowerInvariant()) + var extension = Path.GetExtension(filename).ToLowerInvariant(); + + if (extension == ".xml") { - case ".xml": - metadata.Type = MetadataType.EpisodeMetadata; - return metadata; - case ".jpg": + metadata.Type = MetadataType.EpisodeMetadata; + return metadata; + } + + if (extension == ".jpg") + { + if (!Path.GetFileNameWithoutExtension(filename).EndsWith("-thumb")) + { metadata.Type = MetadataType.EpisodeImage; return metadata; - } - + } + } } return null; diff --git a/src/NzbDrone.Core/MetaData/MetadataService.cs b/src/NzbDrone.Core/MetaData/MetadataService.cs index ff44e044d..b9bc2e746 100644 --- a/src/NzbDrone.Core/MetaData/MetadataService.cs +++ b/src/NzbDrone.Core/MetaData/MetadataService.cs @@ -147,7 +147,7 @@ namespace NzbDrone.Core.Metadata new MetadataFile { SeriesId = series.Id, - Consumer = GetType().Name, + Consumer = consumer.GetType().Name, Type = MetadataType.SeriesMetadata, }; @@ -196,7 +196,7 @@ namespace NzbDrone.Core.Metadata { SeriesId = series.Id, EpisodeFileId = episodeFile.Id, - Consumer = GetType().Name, + Consumer = consumer.GetType().Name, Type = MetadataType.EpisodeMetadata, RelativePath = relativePath }; @@ -233,7 +233,7 @@ namespace NzbDrone.Core.Metadata new MetadataFile { SeriesId = series.Id, - Consumer = GetType().Name, + Consumer = consumer.GetType().Name, Type = MetadataType.SeriesImage, RelativePath = relativePath }; @@ -269,7 +269,7 @@ namespace NzbDrone.Core.Metadata { SeriesId = series.Id, SeasonNumber = season.SeasonNumber, - Consumer = GetType().Name, + Consumer = consumer.GetType().Name, Type = MetadataType.SeasonImage, RelativePath = relativePath }; @@ -317,7 +317,7 @@ namespace NzbDrone.Core.Metadata { SeriesId = series.Id, EpisodeFileId = episodeFile.Id, - Consumer = GetType().Name, + Consumer = consumer.GetType().Name, Type = MetadataType.EpisodeImage, RelativePath = DiskProviderBase.GetRelativePath(series.Path, image.Path) }; diff --git a/src/NzbDrone.Core/Metadata/ExistingMetadataService.cs b/src/NzbDrone.Core/Metadata/ExistingMetadataService.cs index 0a4c68cdf..00642823d 100644 --- a/src/NzbDrone.Core/Metadata/ExistingMetadataService.cs +++ b/src/NzbDrone.Core/Metadata/ExistingMetadataService.cs @@ -5,14 +5,14 @@ using NLog; using NzbDrone.Common; using NzbDrone.Common.Disk; using NzbDrone.Core.MediaFiles; +using NzbDrone.Core.MediaFiles.Events; using NzbDrone.Core.Messaging.Events; using NzbDrone.Core.Metadata.Files; using NzbDrone.Core.Parser; -using NzbDrone.Core.Tv.Events; namespace NzbDrone.Core.Metadata { - public class ExistingMetadataService : IHandle + public class ExistingMetadataService : IHandle { private readonly IDiskProvider _diskProvider; private readonly IMetadataFileService _metadataFileService; @@ -33,7 +33,7 @@ namespace NzbDrone.Core.Metadata _consumers = consumers.ToList(); } - public void Handle(SeriesUpdatedEvent message) + public void Handle(SeriesScannedEvent message) { if (!_diskProvider.FolderExists(message.Series.Path)) return; diff --git a/src/NzbDrone.Core/NzbDrone.Core.csproj b/src/NzbDrone.Core/NzbDrone.Core.csproj index 76f4cb5bb..eeece61ad 100644 --- a/src/NzbDrone.Core/NzbDrone.Core.csproj +++ b/src/NzbDrone.Core/NzbDrone.Core.csproj @@ -194,6 +194,7 @@ +