/// <summary> /// Deletes all cached thumbs for a Series Fanart /// Sometimes fanarts get deleted online but we still have the old /// thumbs cached. This allows the user to clear the cache and re-download the thumbs /// </summary> /// <param name="seriesID"></param> public static void ClearFanartCache(int seriesID) { string searchPattern = seriesID.ToString() + "*.jpg"; string cachePath = Helper.PathCombine(Settings.GetPath(Settings.Path.fanart), @"_cache\fanart\original\"); if (!System.IO.Directory.Exists(cachePath)) { return; //exit if no dir to avoid any exception in GetFiles } string[] fileList = Directory.GetFiles(cachePath, searchPattern); foreach (string file in fileList) { MPTVSeriesLog.Write("Deleting Cached Fanart Thumbnail: " + file); FileInfo fileInfo = new FileInfo(file); try { fileInfo.Delete(); } catch (Exception ex) { MPTVSeriesLog.Write("Failed to Delete Cached Fanart Thumbnail: " + file + ": " + ex.Message); } } // Clear DB and Clear Cache DBFanart.ClearDB(seriesID); }
public GetFanart(int SeriesID) { XmlNode node = OnlineAPI.getBannerList(SeriesID); if (node == null) { return; } foreach (XmlNode fanartNode in node.SelectNodes("/Banners/Banner[BannerType='fanart']")) { DBFanart dbf = new DBFanart(); foreach (XmlNode propertyNode in fanartNode.ChildNodes) { try { dbf[propertyNode.Name] = propertyNode.InnerText; } catch (Exception ex) { MPTVSeriesLog.Write("Error adding Fanart Property to DBEntry: " + propertyNode.Name + " - " + ex.Message); } } // Sync local files with database string localPath = dbf[DBFanart.cBannerPath]; localPath = localPath.Replace("/", @"\"); string fanart = Helper.PathCombine(Settings.GetPath(Settings.Path.fanart), localPath); if (File.Exists(fanart)) { dbf[DBFanart.cLocalPath] = localPath; } else { dbf[DBFanart.cLocalPath] = string.Empty; } dbf[DBFanart.cSeriesID] = SeriesID; _fanart.Add(dbf); } }
private List <DBFanart> getFanart(XmlNode aNode, int aSeriesID) { List <DBFanart> lFanarts = new List <DBFanart>(); foreach (XmlNode fanartNode in aNode.SelectNodes("/Banners/Banner[BannerType='fanart']")) { DBFanart dbf = new DBFanart(); foreach (XmlNode propertyNode in fanartNode.ChildNodes) { try { dbf[propertyNode.Name] = propertyNode.InnerText; } catch (Exception ex) { MPTVSeriesLog.Write("Error adding Fanart Property to DBEntry: " + propertyNode.Name + " - " + ex.Message); } } // Sync local files with database string localPath = GUITVSeries.Fanart.GetLocalPath(dbf); string fanart = Helper.PathCombine(Settings.GetPath(Settings.Path.fanart), localPath); if (File.Exists(fanart)) { dbf[DBFanart.cLocalPath] = localPath; } else { dbf[DBFanart.cLocalPath] = string.Empty; } dbf[DBFanart.cSeriesID] = aSeriesID; lFanarts.Add(dbf); } return(lFanarts); }
public static string GetLocalPath(DBFanart aFanart) { return(GetLocalPath(aFanart[DBFanart.cBannerPath], aFanart[DBFanart.cSeriesID])); }
public static string GetLocalThumbPath(DBFanart aFanart) { return(GetLocalThumbPath(aFanart[DBFanart.cThumbnailPath], aFanart[DBFanart.cSeriesID])); }