Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public static string GetLocalPath(DBFanart aFanart)
 {
     return(GetLocalPath(aFanart[DBFanart.cBannerPath], aFanart[DBFanart.cSeriesID]));
 }
Exemplo n.º 5
0
 public static string GetLocalThumbPath(DBFanart aFanart)
 {
     return(GetLocalThumbPath(aFanart[DBFanart.cThumbnailPath], aFanart[DBFanart.cSeriesID]));
 }