mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-16 11:37:58 +02:00
Broken ExtraFiles migration due to extentionless files
Fixed: Prevent extensionless files from being imported Fixed: Broken migration due to extensionless extra files
This commit is contained in:
parent
47915d5e05
commit
081c5fc332
@ -10,6 +10,28 @@ namespace NzbDrone.Core.Test.Datastore.Migration
|
||||
[TestFixture]
|
||||
public class fix_extra_file_extensionsFixture : MigrationTest<fix_extra_file_extension>
|
||||
{
|
||||
[Test]
|
||||
public void should_extra_files_that_do_not_have_an_extension()
|
||||
{
|
||||
var db = WithMigrationTestDb(c =>
|
||||
{
|
||||
c.Insert.IntoTable("ExtraFiles").Row(new
|
||||
{
|
||||
SeriesId = 1,
|
||||
SeasonNumber = 1,
|
||||
EpisodeFileId = 1,
|
||||
RelativePath = "Series.Title.S01E01",
|
||||
Added = "2016-05-30 20:23:02.3725923",
|
||||
LastUpdated = "2016-05-30 20:23:02.3725923",
|
||||
Extension = ""
|
||||
});
|
||||
});
|
||||
|
||||
var items = db.Query("Select * from ExtraFiles");
|
||||
|
||||
items.Should().BeEmpty();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_fix_double_extension()
|
||||
{
|
||||
|
@ -10,6 +10,10 @@ public class fix_extra_file_extension : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
// Delete extraneous files without extensions that Sonarr found previously,
|
||||
// these will be blocked from importing as well.
|
||||
Execute.Sql("DELETE FROM ExtraFiles WHERE TRIM(Extension) = ''");
|
||||
|
||||
Execute.WithConnection(FixExtraFileExtension);
|
||||
}
|
||||
|
||||
|
@ -36,6 +36,14 @@ public override IEnumerable<ExtraFile> ProcessFiles(Series series, List<string>
|
||||
|
||||
foreach (var possibleExtraFile in filterResult.FilesOnDisk)
|
||||
{
|
||||
var extension = Path.GetExtension(possibleExtraFile);
|
||||
|
||||
if (extension.IsNullOrWhiteSpace())
|
||||
{
|
||||
_logger.Debug("No extension for file: {0}", possibleExtraFile);
|
||||
continue;
|
||||
}
|
||||
|
||||
var localEpisode = _parsingService.GetLocalEpisode(possibleExtraFile, series);
|
||||
|
||||
if (localEpisode == null)
|
||||
@ -62,7 +70,7 @@ public override IEnumerable<ExtraFile> ProcessFiles(Series series, List<string>
|
||||
SeasonNumber = localEpisode.SeasonNumber,
|
||||
EpisodeFileId = localEpisode.Episodes.First().EpisodeFileId,
|
||||
RelativePath = series.Path.GetRelativePath(possibleExtraFile),
|
||||
Extension = Path.GetExtension(possibleExtraFile)
|
||||
Extension = extension
|
||||
};
|
||||
|
||||
extraFiles.Add(extraFile);
|
||||
|
Loading…
Reference in New Issue
Block a user