mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-25 22:36:59 -04:00
New: Only scan files that are new or updated (#760)
* New: Only scan files that are new or updated Pass through filter correctly Add more tests Add tests for migration 30 * Fix windows disk provider * Don't publish deleted event for unmapped file * Fix test on windows
This commit is contained in:
@@ -37,7 +37,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Roksbox
|
||||
|
||||
public override string GetFilenameAfterMove(Artist artist, TrackFile trackFile, MetadataFile metadataFile)
|
||||
{
|
||||
var trackFilePath = Path.Combine(artist.Path, trackFile.RelativePath);
|
||||
var trackFilePath = trackFile.Path;
|
||||
|
||||
if (metadataFile.Type == MetadataType.TrackMetadata)
|
||||
{
|
||||
@@ -122,7 +122,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Roksbox
|
||||
return null;
|
||||
}
|
||||
|
||||
_logger.Debug("Generating Track Metadata for: {0}", trackFile.RelativePath);
|
||||
_logger.Debug("Generating Track Metadata for: {0}", trackFile.Path);
|
||||
|
||||
var xmlResult = string.Empty;
|
||||
foreach (var track in trackFile.Tracks.Value)
|
||||
@@ -148,7 +148,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Roksbox
|
||||
}
|
||||
}
|
||||
|
||||
return new MetadataFileResult(GetTrackMetadataFilename(trackFile.RelativePath), xmlResult.Trim(Environment.NewLine.ToCharArray()));
|
||||
return new MetadataFileResult(GetTrackMetadataFilename(artist.Path.GetRelativePath(trackFile.Path)), xmlResult.Trim(Environment.NewLine.ToCharArray()));
|
||||
}
|
||||
|
||||
public override List<ImageFileResult> ArtistImages(Artist artist)
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Wdtv
|
||||
|
||||
public override string GetFilenameAfterMove(Artist artist, TrackFile trackFile, MetadataFile metadataFile)
|
||||
{
|
||||
var trackFilePath = Path.Combine(artist.Path, trackFile.RelativePath);
|
||||
var trackFilePath = trackFile.Path;
|
||||
|
||||
if (metadataFile.Type == MetadataType.TrackMetadata)
|
||||
{
|
||||
@@ -94,7 +94,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Wdtv
|
||||
return null;
|
||||
}
|
||||
|
||||
_logger.Debug("Generating Track Metadata for: {0}", Path.Combine(artist.Path, trackFile.RelativePath));
|
||||
_logger.Debug("Generating Track Metadata for: {0}", trackFile.Path);
|
||||
|
||||
var xmlResult = string.Empty;
|
||||
foreach (var track in trackFile.Tracks.Value)
|
||||
@@ -124,7 +124,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Wdtv
|
||||
}
|
||||
}
|
||||
|
||||
var filename = GetTrackMetadataFilename(trackFile.RelativePath);
|
||||
var filename = GetTrackMetadataFilename(artist.Path.GetRelativePath(trackFile.Path));
|
||||
|
||||
return new MetadataFileResult(filename, xmlResult.Trim(Environment.NewLine.ToCharArray()));
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
||||
|
||||
public override string GetFilenameAfterMove(Artist artist, TrackFile trackFile, MetadataFile metadataFile)
|
||||
{
|
||||
var trackFilePath = Path.Combine(artist.Path, trackFile.RelativePath);
|
||||
var trackFilePath = trackFile.Path;
|
||||
|
||||
if (metadataFile.Type == MetadataType.TrackMetadata)
|
||||
{
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace NzbDrone.Core.Extras.Metadata
|
||||
{
|
||||
var existingFilename = Path.Combine(artist.Path, metadataFile.RelativePath);
|
||||
var extension = Path.GetExtension(existingFilename).TrimStart('.');
|
||||
var newFileName = Path.ChangeExtension(Path.Combine(artist.Path, trackFile.RelativePath), extension);
|
||||
var newFileName = Path.ChangeExtension(trackFile.Path, extension);
|
||||
|
||||
return newFileName;
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace NzbDrone.Core.Extras.Metadata
|
||||
files.AddIfNotNull(ProcessArtistMetadata(consumer, artist, consumerFiles));
|
||||
files.AddRange(ProcessArtistImages(consumer, artist, consumerFiles));
|
||||
|
||||
var albumGroups = trackFiles.GroupBy(s => Path.GetDirectoryName(s.RelativePath)).ToList();
|
||||
var albumGroups = trackFiles.GroupBy(s => Path.GetDirectoryName(s.Path)).ToList();
|
||||
|
||||
foreach (var group in albumGroups)
|
||||
{
|
||||
@@ -146,7 +146,7 @@ namespace NzbDrone.Core.Extras.Metadata
|
||||
{
|
||||
var metadataFiles = _metadataFileService.GetFilesByArtist(artist.Id);
|
||||
var movedFiles = new List<MetadataFile>();
|
||||
var distinctTrackFilePaths = trackFiles.DistinctBy(s => Path.GetDirectoryName(s.RelativePath)).ToList();
|
||||
var distinctTrackFilePaths = trackFiles.DistinctBy(s => Path.GetDirectoryName(s.Path)).ToList();
|
||||
|
||||
// TODO: Move EpisodeImage and EpisodeMetadata metadata files, instead of relying on consumers to do it
|
||||
// (Xbmc's EpisodeImage is more than just the extension)
|
||||
@@ -162,7 +162,7 @@ namespace NzbDrone.Core.Extras.Metadata
|
||||
|
||||
foreach (var metadataFile in metadataFilesForConsumer)
|
||||
{
|
||||
var newFileName = consumer.GetFilenameAfterMove(artist, Path.GetDirectoryName(filePath.RelativePath), metadataFile);
|
||||
var newFileName = consumer.GetFilenameAfterMove(artist, Path.GetDirectoryName(filePath.Path), metadataFile);
|
||||
var existingFileName = Path.Combine(artist.Path, metadataFile.RelativePath);
|
||||
|
||||
if (newFileName.PathNotEquals(existingFileName))
|
||||
|
||||
Reference in New Issue
Block a user