private async Task<string[]> MakeDlPage(string url) { HtmlHandler ht = new HtmlHandler(); Helper hlp = new Helper(); await ht.DownloadHtml(url); //Get RELEASE INFO var temp = ht.GetNodeByAttr(ht.HtmlDoc,"li","class","release"); string releaseInfo = temp.InnerText.Replace("Release info:","").Trim()??""; releaseInfo = hlp.FormatTxt(releaseInfo); //Get Img Src temp = ht.GetNodeByAttr(ht.HtmlDoc,"img","alt","Poster"); string Imgs = ""; try { Imgs=ht.GetAttr(temp,"src") ?? ""; } catch(Exception) { } //Get Owner temp = ht.GetNodeByAttr(ht.HtmlDoc,"li","class","author"); temp = ht.GetNodeByType(temp,"a")??null; string owner = temp.InnerText.Trim()??""; owner = hlp.FormatTxt(owner); //Get Details temp = ht.GetNodeByAttr(ht.HtmlDoc,"div","id","details"); string details = temp.InnerText.Replace("Subtitle details:","").Trim()??""; details = hlp.FormatTxt(details); //Get Downloadlink temp = ht.GetNodeByAttr(ht.HtmlDoc,"a","id","downloadButton"); string dlUrl = ht.GetAttr(temp,"href")??""; return new string []{Imgs,releaseInfo,owner,details,dlUrl}; }
private async void Page_Loaded(object sender,RoutedEventArgs e) { try { HtmlHandler h = new HtmlHandler(); await h.DownloadHtml("/browse/popular/" + url + "/1"); var tbody = h.GetNodeByType(h.HtmlDoc,"tbody"); ObservableCollection<IModel> ls = new ObservableCollection<IModel>(); Helper hlp = new Helper(); if(tbody != null) foreach(var tr in tbody.ChildNodes) { try { if(tr == null) continue; var a1 = h.GetNodeByAttr(tr,"td","class","a1"); if(a1 == null) continue; IModel mdl = new IModel(); mdl.Url = h.GetAttr(h.GetNodeByType(a1,"a"),"href").ToString(); var l = h.GetNodeByAttr(a1,"span","class","l r neutral-icon"); mdl.Good =(l==null); if(mdl.Good) l = h.GetNodeByAttr(a1,"span","class","l r positive-icon"); mdl.Lang = hlp.FormatTxt(l?.InnerText ?? ""); var YearNode = h.GetNodeByAttr(a1,"div","class","subtle"); var NameNode = YearNode.ParentNode; mdl.Year = Int32.Parse(YearNode.InnerText.Substring(1,4)); mdl.Name = hlp.FormatTxt(NameNode.InnerText.Replace(YearNode.InnerText,"")); mdl.NumDls = Int32.Parse(hlp.FormatTxt(h.GetNodeByAttr(tr,"td","class","a7")?.InnerText).Replace(",","")?? "0"); mdl.Date = h.GetNodeByAttr(tr,"td","class","a6")?.InnerText ?? ""; mdl.Date = hlp.FormatTxt(mdl.Date); mdl.Owner = h.GetNodeByAttr(tr,"td","class","a5")?.InnerText??""; mdl.Owner = hlp.FormatTxt(mdl.Owner); ls.Add(mdl); if(ls.Count > 25) break; } catch(Exception) { } } GVName.ItemsSource = ls; #region Fix Xaml ring.IsActive = false; ringPanel.Visibility = Visibility.Collapsed; GVName.Visibility = Visibility.Visible; #endregion } catch(Exception) { Frame.Navigate(typeof(Offline)); } }
private async void Page_Loaded(object sender,RoutedEventArgs e) { if (_popularItems.Count > 2) return; html = new HtmlHandler(); bool offline = false; try { await html.DownloadHtml(); if(html.HtmlFile == "DIS") offline = true; } catch(Exception) { offline = true; } #region If Offline if(offline) { ring.IsActive = false; Frame.Navigate(typeof(Offline)); } #endregion #region ONLINE else { #region popular var popDiv = html.GetNodeByAttr(html.HtmlDoc,"div","class","popular-films"); foreach(var node in popDiv.ChildNodes) { if(node.Name != "div") continue; var ul_details = html.GetNodeByAttr(node,"ul","class","details"); foreach(var li in ul_details.ChildNodes) { if(li.Name != "li") continue; var a = html.GetNodeByType(li,"a"); string link = html.GetAttr(a,"href"); string poster = html.GetAttr(html.GetNodeByType(html.GetNodeByAttr(a,"div","class","poster"),"img"),"src").Trim(); var ulli = html.GetNodeByAttr(html.GetNodeByType(html.GetNodeByType(li,"ul"),"li"),"div","class","title"); string name = html.GetNodeByType(ulli,"a").InnerText; name = name.Replace("'","'"); name = name.Replace(" "," "); _popularItems.Add(new FilmItem() { Name = name,Url = link,Img = poster }); } } #endregion #region Recent var recentDiv = html.GetNodeByAttr(html.HtmlDoc,"div","class","recent-subtitles"); var ul = html.GetNodeByType(html.GetNodeByAttr(recentDiv,"div","class","content"),"ul"); foreach(var node in ul.ChildNodes) { if(node.Name != "li") continue; var less = new FilmItem(); var a = html.GetNodeByType(html.GetNodeByAttr(node,"div","class","name"),"a"); less.Url = html.GetAttr(a,"href"); less.Name = a.InnerHtml.Substring(a.InnerHtml.IndexOf("</span>") + 7).Replace(" </a>","").Trim(); less.Name = less.Name.Replace("'","'"); less.Name = less.Name.Replace(" "," "); less.Lang = html.GetNodeByType(a,"span").InnerText.Trim(); _recentItems.Add(less); } #endregion #region Fix Xaml ring.IsActive = false; ringPanel.Visibility = Visibility.Collapsed; FindName("mainStack"); mainStack.Visibility = Visibility.Visible; try { HeightHelper.Width = Frame.RenderSize.Width - 28; } catch(Exception) { } #endregion } #endregion }