From 5f2aeb0ceaf43bf8d3c2a6479b4f50fe39d996f2 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 28 Oct 2016 13:04:22 -0700 Subject: [PATCH] Fixed: Failing database migration of metadata files without extensions --- .../Migration/099_extra_and_subtitle_filesFixture.cs | 9 +++++++++ .../Datastore/Migration/099_extra_and_subtitle_files.cs | 3 +++ .../Extras/MetaData/Consumers/Roksbox/RoksboxMetadata.cs | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core.Test/Datastore/Migration/099_extra_and_subtitle_filesFixture.cs b/src/NzbDrone.Core.Test/Datastore/Migration/099_extra_and_subtitle_filesFixture.cs index d18f37fd1..f72d950f0 100644 --- a/src/NzbDrone.Core.Test/Datastore/Migration/099_extra_and_subtitle_filesFixture.cs +++ b/src/NzbDrone.Core.Test/Datastore/Migration/099_extra_and_subtitle_filesFixture.cs @@ -33,6 +33,15 @@ namespace NzbDrone.Core.Test.Datastore.Migration Type = 5, Consumer = "XbmcMetadata" }); + + c.Insert.IntoTable("MetadataFiles").Row(new + { + SeriesId = 1, + RelativePath = "Series Title", + LastUpdated = "2016-05-30 20:23:02.3725923", + Type = 3, + Consumer = "RoksboxMetadata" + }); }); var items = db.Query("SELECT * FROM MetadataFiles"); diff --git a/src/NzbDrone.Core/Datastore/Migration/099_extra_and_subtitle_files.cs b/src/NzbDrone.Core/Datastore/Migration/099_extra_and_subtitle_files.cs index 60abad5fb..f7a173157 100644 --- a/src/NzbDrone.Core/Datastore/Migration/099_extra_and_subtitle_files.cs +++ b/src/NzbDrone.Core/Datastore/Migration/099_extra_and_subtitle_files.cs @@ -33,6 +33,9 @@ namespace NzbDrone.Core.Datastore.Migration .AddColumn("Added").AsDateTime().Nullable() .AddColumn("Extension").AsString().Nullable(); + // Remove Metadata files that don't have an extension + Execute.Sql("DELETE FROM MetadataFiles WHERE RelativePath NOT LIKE '%.%'"); + // Set Extension using the extension from RelativePath Execute.WithConnection(SetMetadataFileExtension); diff --git a/src/NzbDrone.Core/Extras/MetaData/Consumers/Roksbox/RoksboxMetadata.cs b/src/NzbDrone.Core/Extras/MetaData/Consumers/Roksbox/RoksboxMetadata.cs index 072e3428d..de6b17a97 100644 --- a/src/NzbDrone.Core/Extras/MetaData/Consumers/Roksbox/RoksboxMetadata.cs +++ b/src/NzbDrone.Core/Extras/MetaData/Consumers/Roksbox/RoksboxMetadata.cs @@ -195,7 +195,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Roksbox } var source = _mediaCoverService.GetCoverPath(series.Id, image.CoverType); - var destination = Path.Combine(series.Path, Path.GetFileName(series.Path) + Path.GetExtension(source)); + var destination = Path.GetFileName(series.Path) + Path.GetExtension(source); return new List{ new ImageFileResult(destination, source) }; } @@ -220,7 +220,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Roksbox } var filename = Path.GetFileName(seasonFolder) + ".jpg"; - var path = Path.Combine(series.Path, seasonFolder, filename); + var path = series.Path.GetRelativePath(Path.Combine(series.Path, seasonFolder, filename)); return new List { new ImageFileResult(path, image.Url) }; }