コード例 #1
0
ファイル: ScannedFiles.cs プロジェクト: kamalm87/TagLookup
 public byte [] GetArtwork(string releaseID)
 {
     if (ReleaseIDToImageData.ContainsKey(releaseID))
     {
         return(ReleaseIDToImageData [releaseID]);
     }
     else
     {
         return(null);
     }
 }
コード例 #2
0
ファイル: ScannedFiles.cs プロジェクト: kamalm87/TagLookup
        /*** public void SetArtwork(MediaFile mf) ***/
        // *
        // *
        // *
        public void SetArtwork(MediaFile mf)
        {
            if (MediaFileWritableResults.ContainsKey(mf.FileName))
            {
                var wrOptions = MediaFileWritableResults [mf.FileName].WriteableResultOptions;

                foreach (var wr in wrOptions)
                {
                    if (ReleaseIDToImageData.ContainsKey(wr.ReleaseID))
                    {
                        // Do nothing, already mapped
                    }
                    else if (wr.ImageSourceURL != null)
                    {
                        try
                        {
                            var request  = WebRequest.Create(wr.ImageSourceURL);
                            var response = (HttpWebResponse)request.GetResponse( );

                            if (response.StatusCode == HttpStatusCode.OK && response.ResponseUri != null)
                            {
                                WebClient client = new WebClient( );

                                byte [] data = client.DownloadData(response.ResponseUri);
                                ReleaseIDToImageData.Add(wr.ReleaseID, data);
                            }
                            else
                            {
                                ExceptionList.Add(new Tuple <string, string>(wr.ImageSourceURL, response.StatusCode.ToString()));
                            }
                        }
                        catch (Exception ex)
                        {
                            ExceptionList.Add(new Tuple <string, string>(mf.FileName, ex.Message + System.Environment.NewLine + ex.StackTrace));
                        }
                    }
                }
            }
        }