public AnimuSeries() { AnimuData = new Animu[1]; AnimuData[0] = new Animu("Animu Title Here", 0, "Animu Subber Here"); }
static bool CheckAnimu(Animu animu, out string result_link, out string result_title) { result_link = LINK_NOT_FOUND; result_title = ""; //Main search engine is nyaa StringBuilder sb = new StringBuilder(); sb.Append("http://www.nyaa.se/?page=rss&term="); sb.Append(animu.Subber); sb.Append("+"); string title = animu.Title.Replace(' ', '+'); sb.Append(title); sb.Append("+"); string episode = (animu.Episode < 10) ? "0" + animu.Episode : animu.Episode.ToString(); sb.Append(episode); string url = sb.ToString(); try { Console.WriteLine("Checking animu: " + url); HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Timeout = Settings.Instance.SecondsToTimeout * 1000; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { StreamReader reader = new StreamReader(response.GetResponseStream()); XmlDocument doc = new XmlDocument(); try { doc.Load(reader); string episode_string = animu.FormattedString(); XmlNodeList nodes = doc.SelectNodes("/rss/channel/item"); XmlNode found_node = null; foreach (XmlNode node in nodes) { XmlNode node_title = node.SelectSingleNode("title"); string title_text = node_title.InnerText; title_text = title_text.Replace("_", " "); bool resolution_found = false; if (title_text.Contains(episode_string)) { //Find resolution if (title_text.Contains("480") || title_text.Contains("720") || title_text.Contains("1080")) resolution_found = true; //Go download if there's no resolution (Note: usually Commie) or if 720p if (!resolution_found || (resolution_found && title_text.Contains("720"))) { found_node = node; break; } } } if (found_node != null) { result_link = found_node.SelectSingleNode("link").InnerText; result_title = found_node.SelectSingleNode("title").InnerText; Console.WriteLine("Torrent Name: " + result_title); Console.WriteLine("Torrent Link: " + result_link); return true; } else { Console.WriteLine("Not found.."); } } catch (Exception e) { Console.WriteLine("Parsing error: " + e.Message); } //Console.WriteLine("Response: \n" + reader.ReadToEnd()); reader.Close(); } } catch (Exception e) { Console.WriteLine("Checking error: " + e.Message); } return false; }