From fafe4e93f34fea769c9a64d9a98015821738b1e4 Mon Sep 17 00:00:00 2001 From: Qstick Date: Mon, 19 Jun 2017 20:57:07 -0400 Subject: [PATCH] Clean up and back to build state Clean up and back to build state --- .../MediaFiles/DiskScanService.cs | 4 +-- .../MediaFiles/MediaFileRepository.cs | 8 ++--- .../MediaFiles/MediaFileService.cs | 10 +++--- .../MediaFileTableCleanupService.cs | 6 ++-- .../MediaInfo/UpdateMediaInfoService.cs | 2 +- src/NzbDrone.Core/MediaFiles/TrackFile.cs | 1 + .../TrackImport/ImportApprovedTracks.cs | 6 ++-- src/NzbDrone.Core/Music/ArtistService.cs | 2 +- src/NzbDrone.Core/Music/TrackRepository.cs | 32 +++++++++---------- src/NzbDrone.Core/Music/TrackService.cs | 26 +++++++-------- 10 files changed, 49 insertions(+), 48 deletions(-) diff --git a/src/NzbDrone.Core/MediaFiles/DiskScanService.cs b/src/NzbDrone.Core/MediaFiles/DiskScanService.cs index 773b94519..db2f389f4 100644 --- a/src/NzbDrone.Core/MediaFiles/DiskScanService.cs +++ b/src/NzbDrone.Core/MediaFiles/DiskScanService.cs @@ -87,7 +87,7 @@ namespace NzbDrone.Core.MediaFiles return; } - _logger.ProgressInfo("Scanning disk for {0}", artist.ArtistName); + _logger.ProgressInfo("Scanning disk for {0}", artist.Name); if (!_diskProvider.FolderExists(artist.Path)) { @@ -136,7 +136,7 @@ namespace NzbDrone.Core.MediaFiles private void CompletedScanning(Artist artist) { - _logger.Info("Completed scanning disk for {0}", artist.ArtistName); + _logger.Info("Completed scanning disk for {0}", artist.Name); _eventAggregator.PublishEvent(new ArtistScannedEvent(artist)); } diff --git a/src/NzbDrone.Core/MediaFiles/MediaFileRepository.cs b/src/NzbDrone.Core/MediaFiles/MediaFileRepository.cs index 9cd818dcb..4b93d8591 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaFileRepository.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaFileRepository.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using NzbDrone.Core.Datastore; using NzbDrone.Core.Messaging.Events; @@ -8,7 +8,7 @@ namespace NzbDrone.Core.MediaFiles { public interface IMediaFileRepository : IBasicRepository { - List GetFilesByArtist(string artistId); + List GetFilesByArtist(int artistId); List GetFilesWithoutMediaInfo(); } @@ -25,9 +25,9 @@ namespace NzbDrone.Core.MediaFiles return Query.Where(c => c.MediaInfo == null).ToList(); } - public List GetFilesByArtist(string artistId) + public List GetFilesByArtist(int artistId) { - return Query.Where(c => c.SpotifyTrackId == artistId).ToList(); + return Query.Where(c => c.ArtistId == artistId).ToList(); } } } \ No newline at end of file diff --git a/src/NzbDrone.Core/MediaFiles/MediaFileService.cs b/src/NzbDrone.Core/MediaFiles/MediaFileService.cs index 5c61ce535..eb20ae076 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaFileService.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaFileService.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Linq; using NLog; @@ -18,7 +18,7 @@ namespace NzbDrone.Core.MediaFiles TrackFile Add(TrackFile trackFile); void Update(TrackFile trackFile); void Delete(TrackFile trackFile, DeleteMediaFileReason reason); - List GetFilesByArtist(string artistId); + List GetFilesByArtist(int artistId); List GetFilesWithoutMediaInfo(); List FilterExistingFiles(List files, Artist artist); TrackFile Get(int id); @@ -69,7 +69,7 @@ namespace NzbDrone.Core.MediaFiles public List FilterExistingFiles(List files, Artist artist) { - var artistFiles = GetFilesByArtist(artist.SpotifyId).Select(f => Path.Combine(artist.Path, f.RelativePath)).ToList(); + var artistFiles = GetFilesByArtist(artist.Id).Select(f => Path.Combine(artist.Path, f.RelativePath)).ToList(); if (!artistFiles.Any()) return files; @@ -89,11 +89,11 @@ namespace NzbDrone.Core.MediaFiles public void HandleAsync(ArtistDeletedEvent message) { - var files = GetFilesByArtist(message.Artist.SpotifyId); + var files = GetFilesByArtist(message.Artist.Id); _mediaFileRepository.DeleteMany(files); } - public List GetFilesByArtist(string artistId) + public List GetFilesByArtist(int artistId) { return _mediaFileRepository.GetFilesByArtist(artistId); } diff --git a/src/NzbDrone.Core/MediaFiles/MediaFileTableCleanupService.cs b/src/NzbDrone.Core/MediaFiles/MediaFileTableCleanupService.cs index a46844f54..772d766a4 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaFileTableCleanupService.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaFileTableCleanupService.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using NLog; @@ -31,8 +31,8 @@ namespace NzbDrone.Core.MediaFiles public void Clean(Artist artist, List filesOnDisk) { - var artistFiles = _mediaFileService.GetFilesByArtist(artist.SpotifyId); - var tracks = _trackService.GetTracksByArtist(artist.SpotifyId); + var artistFiles = _mediaFileService.GetFilesByArtist(artist.Id); + var tracks = _trackService.GetTracksByArtist(artist.Id); var filesOnDiskKeys = new HashSet(filesOnDisk, PathEqualityComparer.Instance); diff --git a/src/NzbDrone.Core/MediaFiles/MediaInfo/UpdateMediaInfoService.cs b/src/NzbDrone.Core/MediaFiles/MediaInfo/UpdateMediaInfoService.cs index 60cf5bf01..593cdcee6 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaInfo/UpdateMediaInfoService.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaInfo/UpdateMediaInfoService.cs @@ -65,7 +65,7 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo return; } - var allMediaFiles = _mediaFileService.GetFilesByArtist(message.Artist.SpotifyId); + var allMediaFiles = _mediaFileService.GetFilesByArtist(message.Artist.Id); var filteredMediaFiles = allMediaFiles.Where(c => c.MediaInfo == null || c.MediaInfo.SchemaRevision < CURRENT_MEDIA_INFO_SCHEMA_REVISION).ToList(); UpdateMediaInfo(message.Artist, filteredMediaFiles); diff --git a/src/NzbDrone.Core/MediaFiles/TrackFile.cs b/src/NzbDrone.Core/MediaFiles/TrackFile.cs index e08555b77..e20b3b5dc 100644 --- a/src/NzbDrone.Core/MediaFiles/TrackFile.cs +++ b/src/NzbDrone.Core/MediaFiles/TrackFile.cs @@ -14,6 +14,7 @@ namespace NzbDrone.Core.MediaFiles { public string SpotifyTrackId { get; set; } public int AlbumId { get; set; } + public int ArtistId { get; set; } public string RelativePath { get; set; } public string Path { get; set; } public long Size { get; set; } diff --git a/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs b/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs index 09abac393..e38c27ca8 100644 --- a/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs +++ b/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs @@ -67,18 +67,18 @@ namespace NzbDrone.Core.MediaFiles.TrackImport .Intersect(localTrack.Tracks.Select(e => e.Id)) .Any()) { - importResults.Add(new ImportResult(importDecision, "Episode has already been imported")); + importResults.Add(new ImportResult(importDecision, "Track has already been imported")); continue; } var trackFile = new TrackFile(); trackFile.DateAdded = DateTime.UtcNow; - trackFile.SpotifyTrackId = localTrack.Artist.SpotifyId; + trackFile.ArtistId = localTrack.Artist.Id; trackFile.Path = localTrack.Path.CleanFilePath(); trackFile.Size = _diskProvider.GetFileSize(localTrack.Path); trackFile.Quality = localTrack.Quality; trackFile.MediaInfo = localTrack.MediaInfo; - //trackFile.AlbumId = localTrack.Album.ElementAt(0); // TODO: Implement ImportApprovedTracks Album Id + trackFile.AlbumId = localTrack.Album.Id; trackFile.Tracks = localTrack.Tracks; trackFile.ReleaseGroup = localTrack.ParsedTrackInfo.ReleaseGroup; diff --git a/src/NzbDrone.Core/Music/ArtistService.cs b/src/NzbDrone.Core/Music/ArtistService.cs index 211f0c978..1297a42e9 100644 --- a/src/NzbDrone.Core/Music/ArtistService.cs +++ b/src/NzbDrone.Core/Music/ArtistService.cs @@ -115,7 +115,7 @@ namespace NzbDrone.Core.Music if (storedAlbum != null && album.Monitored != storedAlbum.Monitored) { - _trackService.SetTrackMonitoredByAlbum(artist.ForeignArtistId, album.ForeignAlbumId, album.Monitored); + _trackService.SetTrackMonitoredByAlbum(artist.Id, album.Id, album.Monitored); } } diff --git a/src/NzbDrone.Core/Music/TrackRepository.cs b/src/NzbDrone.Core/Music/TrackRepository.cs index 4657b3dad..b260056fe 100644 --- a/src/NzbDrone.Core/Music/TrackRepository.cs +++ b/src/NzbDrone.Core/Music/TrackRepository.cs @@ -13,15 +13,15 @@ namespace NzbDrone.Core.Music { public interface ITrackRepository : IBasicRepository { - Track Find(string artistId, string albumId, int trackNumber); - List GetTracks(string artistId); - List GetTracks(string artistId, string albumId); + Track Find(int artistId, int albumId, int trackNumber); + List GetTracks(int artistId); + List GetTracks(int artistId, int albumId); List GetTracksByFileId(int fileId); - List TracksWithFiles(string artistId); + List TracksWithFiles(int artistId); PagingSpec TracksWithoutFiles(PagingSpec pagingSpec); PagingSpec TracksWhereCutoffUnmet(PagingSpec pagingSpec, List qualitiesBelowCutoff); void SetMonitoredFlat(Track episode, bool monitored); - void SetMonitoredByAlbum(string artistId, string albumId, bool monitored); + void SetMonitoredByAlbum(int artistId, int albumId, bool monitored); void SetFileId(int trackId, int fileId); } @@ -37,24 +37,24 @@ namespace NzbDrone.Core.Music _logger = logger; } - public Track Find(string artistId, string albumId, int trackNumber) + public Track Find(int artistId, int albumId, int trackNumber) { - return Query.Where(s => s.ForeignTrackId == artistId) - .AndWhere(s => s.Album.ForeignAlbumId == albumId) + return Query.Where(s => s.ArtistId == artistId) + .AndWhere(s => s.AlbumId == albumId) .AndWhere(s => s.TrackNumber == trackNumber) .SingleOrDefault(); } - public List GetTracks(string artistId) + public List GetTracks(int artistId) { - return Query.Where(s => s.ForeignTrackId == artistId).ToList(); + return Query.Where(s => s.ArtistId == artistId).ToList(); } - public List GetTracks(string artistId, string albumId) + public List GetTracks(int artistId, int albumId) { - return Query.Where(s => s.ForeignTrackId == artistId) - .AndWhere(s => s.Album.ForeignAlbumId == albumId) + return Query.Where(s => s.ArtistId == artistId) + .AndWhere(s => s.AlbumId == albumId) .ToList(); } @@ -63,10 +63,10 @@ namespace NzbDrone.Core.Music return Query.Where(e => e.TrackFileId == fileId).ToList(); } - public List TracksWithFiles(string artistId) + public List TracksWithFiles(int artistId) { return Query.Join(JoinType.Inner, e => e.TrackFile, (e, ef) => e.TrackFileId == ef.Id) - .Where(e => e.ForeignTrackId == artistId); + .Where(e => e.ArtistId == artistId); } public PagingSpec TracksWhereCutoffUnmet(PagingSpec pagingSpec, List qualitiesBelowCutoff) @@ -85,7 +85,7 @@ namespace NzbDrone.Core.Music SetFields(track, p => p.Monitored); } - public void SetMonitoredByAlbum(string artistId, string albumId, bool monitored) + public void SetMonitoredByAlbum(int artistId, int albumId, bool monitored) { var mapper = _database.GetDataMapper(); diff --git a/src/NzbDrone.Core/Music/TrackService.cs b/src/NzbDrone.Core/Music/TrackService.cs index 6219b515e..39c065b0e 100644 --- a/src/NzbDrone.Core/Music/TrackService.cs +++ b/src/NzbDrone.Core/Music/TrackService.cs @@ -15,12 +15,12 @@ namespace NzbDrone.Core.Music { Track GetTrack(int id); List GetTracks(IEnumerable ids); - Track FindTrack(string artistId, string albumId, int trackNumber); - Track FindTrackByTitle(string artistId, string albumId, string releaseTitle); - List GetTracksByArtist(string artistId); - List GetTracksByAlbum(string artistId, string albumId); + Track FindTrack(int artistId, int albumId, int trackNumber); + Track FindTrackByTitle(int artistId, int albumId, string releaseTitle); + List GetTracksByArtist(int artistId); + List GetTracksByAlbum(int artistId, int albumId); //List GetTracksByAlbumTitle(string artistId, string albumTitle); - List TracksWithFiles(string artistId); + List TracksWithFiles(int artistId); //PagingSpec TracksWithoutFiles(PagingSpec pagingSpec); List GetTracksByFileId(int trackFileId); void UpdateTrack(Track track); @@ -29,7 +29,7 @@ namespace NzbDrone.Core.Music void InsertMany(List tracks); void UpdateMany(List tracks); void DeleteMany(List tracks); - void SetTrackMonitoredByAlbum(string artistId, string albumId, bool monitored); + void SetTrackMonitoredByAlbum(int artistId, int albumId, bool monitored); } public class TrackService : ITrackService @@ -55,22 +55,22 @@ namespace NzbDrone.Core.Music return _trackRepository.Get(ids).ToList(); } - public Track FindTrack(string artistId, string albumId, int trackNumber) + public Track FindTrack(int artistId, int albumId, int trackNumber) { return _trackRepository.Find(artistId, albumId, trackNumber); } - public List GetTracksByArtist(string artistId) + public List GetTracksByArtist(int artistId) { return _trackRepository.GetTracks(artistId).ToList(); } - public List GetTracksByAlbum(string artistId, string albumId) + public List GetTracksByAlbum(int artistId, int albumId) { return _trackRepository.GetTracks(artistId, albumId); } - public Track FindTrackByTitle(string artistId, string albumId, string releaseTitle) + public Track FindTrackByTitle(int artistId, int albumId, string releaseTitle) { // TODO: can replace this search mechanism with something smarter/faster/better var normalizedReleaseTitle = Parser.Parser.NormalizeEpisodeTitle(releaseTitle).Replace(".", " "); @@ -96,7 +96,7 @@ namespace NzbDrone.Core.Music return null; } - public List TracksWithFiles(string artistId) + public List TracksWithFiles(int artistId) { return _trackRepository.TracksWithFiles(artistId); } @@ -127,7 +127,7 @@ namespace NzbDrone.Core.Music _logger.Debug("Monitored flag for Track:{0} was set to {1}", trackId, monitored); } - public void SetTrackMonitoredByAlbum(string artistId, string albumId, bool monitored) + public void SetTrackMonitoredByAlbum(int artistId, int albumId, bool monitored) { _trackRepository.SetMonitoredByAlbum(artistId, albumId, monitored); } @@ -154,7 +154,7 @@ namespace NzbDrone.Core.Music public void HandleAsync(ArtistDeletedEvent message) { - var tracks = GetTracksByArtist(message.Artist.ForeignArtistId); + var tracks = GetTracksByArtist(message.Artist.Id); _trackRepository.DeleteMany(tracks); }