Banshee.CoverArt.CoverArtJob.FetchForTrack C# (CSharp) Method

FetchForTrack() private method

private FetchForTrack ( DatabaseTrackInfo track ) : void
track Banshee.Collection.Database.DatabaseTrackInfo
return void
        private void FetchForTrack (DatabaseTrackInfo track)
        {
            bool save = true;
            try {
                if (String.IsNullOrEmpty (track.AlbumTitle) || track.AlbumTitle == Catalog.GetString ("Unknown Album") ||
                    String.IsNullOrEmpty (track.ArtistName) || track.ArtistName == Catalog.GetString ("Unknown Artist")) {
                    // Do not try to fetch album art for these
                } else {
                    IMetadataLookupJob job = MetadataService.Instance.CreateJob (track);
                    job.Run ();
                }
            } catch (System.Threading.ThreadAbortException) {
                save = false;
                throw;
            } catch (Exception e) {
                Log.Exception (e);
            } finally {
                if (save) {
                    bool have_cover_art = CoverArtSpec.CoverExists (track.ArtistName, track.AlbumTitle);
                    ServiceManager.DbConnection.Execute (
                        "INSERT OR REPLACE INTO CoverArtDownloads (AlbumID, Downloaded, LastAttempt) VALUES (?, ?, ?)",
                        track.AlbumId, have_cover_art, DateTime.Now);
                }
            }
        }