示例#1
0
文件: XAlbum.cs 项目: ghdy/GHDY.All
        public void AddEpisode(XEpisode episode)
        {
            this.RealElement.Add(episode);

            if (this.RealElement != this)
            {
                this.Add(episode);
            }
        }
示例#2
0
        public XEpisode CheckEpisode(XEpisode episode)
        {
            var album = this.CurrentXTarget.GetAlbum(episode.AlbumID);

            var findEpisode = album.GetEpisode(episode.ID);

            if (findEpisode != null)
            {
                if (findEpisode.Title != episode.Title)
                {
                    findEpisode.Title = episode.Title;
                }
                if (findEpisode.URL != episode.URL)
                {
                    findEpisode.URL = episode.URL;
                }
                if (findEpisode.Date != episode.Date)
                {
                    findEpisode.Date = episode.Date;
                }

                bool needRefresh = false;
                if (findEpisode.HasLrc != episode.HasLrc)
                {
                    findEpisode.HasLrc = episode.HasLrc;
                    needRefresh        = true;
                }
                if (findEpisode.HasTranslation != episode.HasTranslation)
                {
                    findEpisode.HasTranslation = episode.HasTranslation;
                    needRefresh = true;
                }

                if (needRefresh == true)
                {
                    findEpisode.IsWebPageDownloaded = false;
                    findEpisode.IsContentDownloaded = false;
                }
            }
            else
            {
                findEpisode = episode;
                album.AddEpisode(findEpisode);
            }

            this.SaveXTarget();

            return(findEpisode);
        }
示例#3
0
        public void DownloadEpisode(XEpisode episode)
        {
            var episodesFolder = this.GetAlbumFolderPath(episode.AlbumID);

            if (Directory.Exists(episodesFolder) == false)
            {
                Directory.CreateDirectory(episodesFolder);
            }

            var episodeFilePath = Path.Combine(episodesFolder, episode.ID + ".html");

            //if (File.Exists(episodeFilePath) == true)
            //    File.Delete(episodeFilePath);

            BaseTarget.SaveAndReturn(episode.URL, episodeFilePath, this.Encoding);
            episode.IsWebPageDownloaded = true;

            CheckEpisode(episode);
        }