private int FindRipMethod(string title) { int result = -1; Movie movie = new Movie(); title = title.Replace(" ", ".").Replace("-", ".").Replace("{", ".").Replace("}", ".").Replace("[", ".").Replace("]", ".").Replace("(", ".").Replace(")", ".").Replace("_", "."); string[] array = title.Split('.'); string[] ripMethod = new string[]{ "DVDRIP", "DVD", "BRRIP", "BDRIP", "BLURAY", "DVDSCR", "DVDSCREENER", "DVDRSCREENER", "CAM", "TELESYNC", "TS", "TC", "R5", "R3", "PPVRIP", "HDRIP", "SCREENER", "SCR", }; bool found = false; foreach (string str in array) { for (int i = 0; i < ripMethod.Count(); i++) { if (str.ToUpper().Contains(ripMethod[i])) { result = i; found = true; break; } } if (found) break; } if (result > -1) { if (result < 2) result = 1; else if (result < 5) result = 2; else if (result < 8) result = 3; else if (result == 8) result = 4; else if (result < 12) result = 5; else if (result == 12) result = 6; else if (result == 13) result = 7; else if (result == 14) result = 8; else if (result == 15) result = 9; else if (result <= 17) result = 10; } else result = 0; return result; }
private void PopulateDataGrid(string text, Movie current) { string[] arr = text.Replace("{", string.Empty).Replace("}", string.Empty).Replace("\"", string.Empty).Split(','); Movie movie = new Movie(); string currentProperty = ""; movie.index = FindRipMethod(current.Title); foreach (string item in arr) { if (item.Contains(':')) { string[] tmp = item.Split(':'); currentProperty = tmp[0].Trim(); switch (currentProperty) { case "Title": movie.Title = tmp[1].ToString(); if (tmp.Count() > 2) { movie.Title += ":"; for (int i = 2; i < tmp.Count(); i++) movie.Title += tmp[i].ToString(); } break; case "Year": movie.Year = tmp[1].ToString(); break; case "Rated": movie.Rated = tmp[1].ToString(); break; case "Released": break; case "Genre": movie.Genre.Add(tmp[1].ToString()); break; case "Director": movie.Director = tmp[1].ToString(); break; case "Writer": movie.Writer.Add(tmp[1].ToString()); break; case "Actors": movie.Actors.Add(tmp[1].ToString()); break; case "Plot": movie.Plot = tmp[1].ToString(); if (tmp.Count() > 2) { movie.Plot += ":"; for (int i = 2; i < tmp.Count(); i++) movie.Plot += tmp[i].ToString(); } break; case "Poster": if (!(tmp[1].ToString().Trim() == "N/A")) { movie.Poster = tmp[1].ToString() + ":" + tmp[2].ToString(); } break; case "Runtime": movie.Runtime = tmp[1].ToString(); break; case "Rating": movie.Rating = tmp[1].ToString(); break; case "Votes": movie.Votes = tmp[1].ToString(); break; case "ID": movie.ID = tmp[1].ToString(); break; case "Response": break; default: break; } } else { switch (currentProperty) { case "Title": movie.Title += "." + item.ToString(); break; case "Genre": movie.Genre.Add(item.Trim()); break; case "Writer": movie.Writer.Add(item.Trim()); break; case "Actors": movie.Actors.Add(item.Trim()); break; default: break; } } } index++; movie.Nr = current.Nr; if (!string.IsNullOrEmpty(movie.Title)) movie.IsEnabled = true; netList[movie.Nr-1] = movie; if (!Directory.Exists(runningPath)) Directory.CreateDirectory(runningPath); if (movie.Title != null || movie.Poster != null) { string img = runningPath + "\\" + (movie.Title + movie.Poster.Substring(movie.Poster.LastIndexOf("."))).Replace(':', ' '); if (!File.Exists(img)) { WebClient wc = new WebClient(); Uri uri = new Uri(movie.Poster); wc.DownloadFile(uri, img); } movie.PosterImage = Image.FromFile(img); } //DataGridViewImageColumn imgColm = new DataGridViewImageColumn(); //DataGridViewTextBoxColumn txtColm = new DataGridViewTextBoxColumn(); }
private void FetchFromWeb(object sender, EventArgs e) { string searchTitel = "http://www.imdbapi.com/?t="; WebClient wc = null; foreach (Movie m in resultArray) { wc = new WebClient(); wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted); string title = HttpUtility.UrlEncode(TokanizeFunction(m.Title).Trim()); Uri uri = new Uri(searchTitel + title); currentMovie = m; wc.DownloadStringAsync(uri, m); wc.Dispose(); } }