Example #1
0
        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};
        }
Example #2
0
        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)); }
        }
Example #3
0
        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("&#39;","'");
                        name = name.Replace("&nbsp;"," ");
                        _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("&#39;","'");
                    less.Name = less.Name.Replace("&nbsp;"," ");

                    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
        }