コード例 #1
0
 public void addItemFromNet(MovieItem movie)
 {
     addItem(movie);
     if (!movie.save())
     {
         MessageBox.Show("Error: One movie has saved failed");
     }
 }
コード例 #2
0
 //add MovieItem to movieList
 public void addItem(MovieItem temp)
 {
     movieList.Add(temp);
     foreach (string x in categoryList)
     {
         if (temp.category == x)
         {
             return;
         }
     }
     categoryList.Add(temp.category);
 }
コード例 #3
0
 public bool initMovieDBFromLocalFile()
 {
     try {
         foreach (string x in fileManager.getStringByLocalFile())
         {
             addItem(MovieItem.create(x));
         }
     }catch (Exception e) {
         Debug.Print("MovieDB line39:" + e.Message);
         return(false);
     }
     return(true);
 }
コード例 #4
0
ファイル: FileManager.cs プロジェクト: LunziQwQ/MovieSpider
        //删除该电影在本地的缓存文件
        public void deleteMovieItem(MovieItem movie)
        {
            //FIXME: tianjia xin de gong neng
            string path = getPath(movie);

            if (!Directory.Exists(path)) //(显示无该电影目录)
            {
                System.Windows.Forms.MessageBox.Show("No this movie Exist.");
            }
            else
            {
                Directory.Delete(path, true);
            }
        }
コード例 #5
0
ファイル: MainForm.cs プロジェクト: LunziQwQ/MovieSpider
        private void btn_Remove_Click(object sender, EventArgs e)
        {
            movieViewer.Close();
            MovieItem mv = movieDB.getItemByName((string)listBox_movie.SelectedItem);

            if (mv.name == null || mv.name == "")
            {
                MessageBox.Show("Error:未选择电影或电影无效,删除失败");
                return;
            }
            movieDB.movieList.Remove(mv);
            fileManager.deleteMovieItem(mv);
            listBox_ShowCategoryItemList();
            listBox_ShowMovieItemList();
        }
コード例 #6
0
ファイル: FileManager.cs プロジェクト: LunziQwQ/MovieSpider
        /// <summary>
        /// 将MovieItem以"缓存根目录/分类/电影名"的格式存储,并下载封面到电影名目录下。.
        /// </summary>
        /// <param name="movie">MovieItem 要存储的电影实例</param>
        /// <returns>是否存储成功</returns>
        public bool saveMovieItem(MovieItem movie)
        {
            string fileName = getPath(movie) + "\\movieInfo.txt";

            try {
                if (!Directory.Exists(getPath(movie)))//如果不存在就创建file文件夹
                {
                    Directory.CreateDirectory(getPath(movie));
                }
                pageVisitor.downloadFileByUrl(movie.coverURL, getPath(movie) + "\\", "cover");

                File.WriteAllText(fileName, movie.getMovieInfoString());
            }catch (Exception e) {
                System.Windows.Forms.MessageBox.Show(e.Message + "path:" + getPath(movie));
                return(false);
            }
            return(true);
        }
コード例 #7
0
ファイル: MovieItem.cs プロジェクト: LunziQwQ/MovieSpider
        /// <summary>
        /// 从字符串反序列化电影实例。
        /// </summary>
        /// <param name="movieInfo"></param>
        /// <returns>反序列化的对象</returns>
        public static MovieItem create(string movieInfo)
        {
            MovieItem tempItem = new MovieItem();

            string[] temp = Regex.Split(movieInfo, "&!&");
            tempItem.name           = temp[0];
            tempItem.translatedTerm = temp[1];
            tempItem.time           = temp[2];
            tempItem.language       = temp[3];
            tempItem.lengthOfFilm   = temp[4];
            tempItem.imdbScore      = temp[5];
            tempItem.subtitle       = temp[6];
            tempItem.leadingRole    = temp[7];
            tempItem.summary        = temp[8];
            tempItem.area           = temp[9];
            tempItem.category       = temp[10];
            tempItem.coverURL       = temp[11];
            tempItem.downloadLink   = temp[12];
            return(tempItem);
        }
コード例 #8
0
ファイル: NetSpider.cs プロジェクト: LunziQwQ/MovieSpider
        /// <summary>
        /// 通过正则获取字段,初始化为一个MovieItem实例。
        /// 更新_nowHTML并运行所有正则,开始爬取。
        /// </summary>
        /// <param name="movieHTML"></param>
        /// <returns>_nowHTML所爬取到的Movie</returns>
        public MovieItem getOneMovie(String movieHTML)
        {
            _nowHTML = movieHTML;
            MovieItem movie = new MovieItem();

            movie.name           = getName();
            movie.translatedTerm = getTransTerm();
            movie.category       = getCategory();
            movie.time           = getYear();
            movie.language       = getLanguage();
            movie.lengthOfFilm   = getLength();
            movie.imdbScore      = getIMDB();
            movie.subtitle       = getSubtitle();
            movie.area           = getArea();
            movie.leadingRole    = getLeadingRole();
            movie.summary        = getSummary();
            movie.coverURL       = getImageLink();
            movie.downloadLink   = getDownloadLink();
            return(movie);
        }
コード例 #9
0
 public void init(MovieItem movie)
 {
     label_area.Text     += movie.area;
     label_category.Text += movie.category;
     label_sub.Text      += movie.subtitle;
     label_IMDB.Text     += movie.imdbScore;
     label_lang.Text     += movie.language;
     label_leading.Text  += movie.leadingRole;
     label_length.Text   += movie.lengthOfFilm;
     label_name.Text     += movie.name;
     label_summary.Text  += movie.summary;
     label_time.Text     += movie.time;
     label_trans.Text    += movie.translatedTerm;
     if (movie.coverURL != "")
     {
         try {
             image_cover.Image = Image.FromFile(fileManager.getPath(movie) + "\\cover.jpg");
         }catch (Exception e) {
             Debug.Print("MVF line:29:" + e.Message);
         }
     }
     this.Show();
     updateLocation();
 }
コード例 #10
0
ファイル: FileManager.cs プロジェクト: LunziQwQ/MovieSpider
 /// <summary>
 /// 获取电影实例序列化所存储的目录。
 /// </summary>
 /// <param name="movie"></param>
 /// <returns></returns>
 public string getPath(MovieItem movie)
 {
     return(rootPath + movie.category + "\\" + movie.name);
 }