public void Clean(Series series) { _logger.Debug("Cleaning missing metadata files for series: {0}", series.Title); var metadataFiles = _metadataFileService.GetFilesBySeries(series.Id); foreach (var metadataFile in metadataFiles) { if (!_diskProvider.FileExists(Path.Combine(series.Path, metadataFile.RelativePath))) { _logger.Debug("Deleting metadata file from database: {0}", metadataFile.RelativePath); _metadataFileService.Delete(metadataFile.Id); } } }
public void Clean(Artist artist) { _logger.Debug("Cleaning missing metadata files for artist: {0}", artist.Name); var metadataFiles = _metadataFileService.GetFilesByArtist(artist.Id); foreach (var metadataFile in metadataFiles) { if (!_diskProvider.FileExists(Path.Combine(artist.Path, metadataFile.RelativePath))) { _logger.Debug("Deleting metadata file from database: {0}", metadataFile.RelativePath); _metadataFileService.Delete(metadataFile.Id); } } }
private MetadataFile GetMetadataFile(Movie movie, List <MetadataFile> existingMetadataFiles, Func <MetadataFile, bool> predicate) { var matchingMetadataFiles = existingMetadataFiles.Where(predicate).ToList(); if (matchingMetadataFiles.Empty()) { return(null); } //Remove duplicate metadata files from DB and disk foreach (var file in matchingMetadataFiles.Skip(1)) { var path = Path.Combine(movie.Path, file.RelativePath); _logger.Debug("Removing duplicate Metadata file: {0}", path); _recycleBinProvider.DeleteFile(path); _metadataFileService.Delete(file.Id); } return(matchingMetadataFiles.First()); }
private void DeleteMetadata(int id, string path) { _metaFileService.Delete(id); _diskProvider.DeleteFile(path); }