예제 #1
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)); }
        }
예제 #2
0
        private void LoadItems(List<int> lang) {
            HtmlNode tbody = null;
            try {
                tbody = Html.GetNodeByType(Html.HtmlDoc,"tbody");
            }
            catch(Exception) { return; }
            var ls = new ObservableCollection<FilmItem>();
            var hlp = new Helper();
            if(tbody != null)
                foreach(var tr in tbody.ChildNodes) {
                    try {
                        if(tr == null)
                            continue;
                        var a1 = Html.GetNodeByAttr(tr,"td","class","a1");
                        if(a1 == null)
                            continue;
                        FilmItem mdl = new FilmItem();
                        var a = Html.GetNodeByType(a1,"a");
                        mdl.Url = Html.GetAttr(a,"href").ToString();
                        var ch = a.ChildNodes[1];
                        mdl.Lang = hlp.FormatTxt(ch.InnerText ?? "");
                        var attr = Html.GetAttr(ch,"class");
                        mdl.Img = attr.Contains("positive") ? "Green" : "Gray";
                        mdl.Name = hlp.FormatTxt(a.ChildNodes[3].InnerText);

                        mdl.Owner = Html.GetNodeByAttr(tr,"td","class","a5")?.InnerText ?? "";
                        mdl.Owner = "Owner:" + hlp.FormatTxt(mdl.Owner);
                        ls.Add(mdl);
                    }
                    catch(Exception) { }
                }
            var lngls = new string[] {
                 "Arabic",
                 "Brazillian",
                 "Danish",
                 "Dutch",
                 "English",//5
                 "Farsi/Persian",
                 "Finnish",
                 "French",
                 "Hebrew",
                 "Indonesian",//10
                 "Italian",
                 "Norwegian",
                 "Romanian",
                 "Spanish",
                 "Swedish",//15
                 "Swedish",
              };
            foreach(var i in lang) {
                foreach(var j in ls) {
                    if(j.Lang.ToLower().Contains(lngls[i].ToLower()))
                        ls.Remove(j);
                }
            }
            GVName.ItemsSource = ls;
        }