Ejemplo n.º 1
0
        public static bool SetHandled(MoviePage page, List <Resource> rs)
        {
            using (var db = new MyDbContext())
            {
                if (page != null)
                {
                    page.IsHandler = true;
                    var p = db.Entry <MoviePage>(page);
                    p.State = EntityState.Detached;
                    p.Property(m => m.IsHandler).IsModified = true;
                }

                if (rs != null && rs.Count != 0)
                {
                    for (int i = 0; i < rs.Count; i++)
                    {
                        var item = rs[i];
                        item.IsHandler = true;
                        var obj = db.Entry(item);
                        obj.State = EntityState.Detached;
                        obj.Property(m => m.IsHandler).IsModified = true;
                    }
                }
                int res = db.SaveChanges();

                return(res >= ((page == null?0:1) + (rs == null || rs.Count == 0?0: rs.Count)));
            }
        }
Ejemplo n.º 2
0
        public void Before()
        {
            _login = new LoginPage(Browser);
            _movie = new MoviePage(Browser);
            _login.With("*****@*****.**", "pwd123");

            Database.InsertMovies();
        }
Ejemplo n.º 3
0
        public void Before()
        {
            _login = new LoginPage(Browser);
            _movie = new MoviePage(Browser);
            _login.With("*****@*****.**", "pwd123");

            Database.InsertMovies();
        }
Ejemplo n.º 4
0
 public void OnScrapVideoCompleted(MoviePage page)
 {
     Program.SetIdle();
     this.InvokeEx(() =>
     {
         Initialize(page);
     });
 }
Ejemplo n.º 5
0
 public void OnScrapVideoCompleted(MoviePage page)
 {
     Program.SetIdle();
     this.InvokeEx(() =>
     {
         Initialize(page);
     });
 }
        public void Before()
        {
            _login = new LoginPage(Browser);
            _movie = new MoviePage(Browser);

            _login.With("*****@*****.**", "123456");

            Database.InsertMovies();
        }
Ejemplo n.º 7
0
 public void Initialize(MoviePage page)
 {
     LogManager.Log("Initializing view window");
     this.lastPage = page;
     this.buttonSpecHeaderGroupMore.Visible = GetNextPage() != null;
     this.videoThumbGalleryWidget.ClearItems();
     this.videoThumbGalleryWidget.AddItems(page);
     UpdateNavigation();
 }
Ejemplo n.º 8
0
        public MoviePageVM()
        {
            MoviePage moviePage = new MoviePage();

            moviePage.DataContext = this;
            View = moviePage;

            Visibility = GlobalVars.AdminMode ? Visibility.Visible : Visibility.Hidden;
        }
Ejemplo n.º 9
0
 public void Initialize(MoviePage page)
 {
     LogManager.Log("Initializing view window");
     this.lastPage = page;
     this.buttonSpecHeaderGroupMore.Visible = GetNextPage() != null;
     this.videoThumbGalleryWidget.ClearItems();
     this.videoThumbGalleryWidget.AddItems(page);
     UpdateNavigation();
 }
        //
        // GET: /Movies/
        public override ActionResult Index(RenderModel model)
        {
            INode currentNode = Node.GetCurrent();

            var pageModel = new MoviePage();
            pageModel.Movie = ModelFactory.CreateModel<Movie>(currentNode);
            FormatCast(pageModel.Movie);

            pageModel.MovieDictionaryItem = ShowDictionary.MovieShowingAt(pageModel.Movie);

            return CurrentTemplate(pageModel);
        }
Ejemplo n.º 11
0
 public static bool AddPicturePage(MoviePage model)
 {
     using (var db = new MyDbContext())
     {
         if (db.MoviePages.Any(m => m.Url == model.Url))
         {
             return(true);
         }
         db.MoviePages.Add(model);
         return(db.SaveChanges() >= 1);
     }
 }
 protected override void OnAddItems(MoviePage page)
 {
     for (var i = 0; i < Constants.GetMaxDisplayCount(page.Videos.Count); i++)
     {
         var video = page.Videos[i];
         foreach(var l in video.Links)
             AddItem(l);
         if (Constants.ShowAds && i % 4 == 0)
         {
             var ad = CreateAdWidget(Constants.VerticalAdId);
             this.tableLayoutPanel.Controls.Add(ad);
         }
     }
 }
Ejemplo n.º 13
0
        public async void ShowMoviePage(Movie movie)
        {
            if (_moviePage == null)
            {
                _moviePage = new MoviePage();
            }

            var movieViewModel = new MovieViewModel(movie);// {NavigationService = this};

            _moviePage.BindingContext = movieViewModel;

            await Navigation.PushAsync(_moviePage);

            await movieViewModel.LoadMovieDetails();
        }
Ejemplo n.º 14
0
 protected override void OnAddItems(MoviePage page)
 {
     for (var i = 0; i < Constants.GetMaxDisplayCount(page.Videos.Count); i++)
     {
         var video = page.Videos[i];
         foreach (var l in video.Links)
         {
             AddItem(l);
         }
         if (Constants.ShowAds && i % 4 == 0)
         {
             var ad = CreateAdWidget(Constants.VerticalAdId);
             this.tableLayoutPanel.Controls.Add(ad);
         }
     }
 }
Ejemplo n.º 15
0
        protected override void OnAddItems(MoviePage page)
        {
            this.flowLayoutPanel.SuspendLayout();

            var rand = new Random(DateTime.Now.Minute);
            var next = 4;

            for (var i = 0; i < Constants.GetMaxDisplayCount(page.Videos.Count); i++)
            {
                var movie  = page.Videos[i];
                var widget = new WebViewWidget(movie,
                                               Properties.Resources.TestHtml.Replace("{0}", movie.Url)
                                               .Replace("{1}", String.IsNullOrEmpty(movie.ImageUrl) ? "no_image.gif" : movie.ImageUrl)
                                               .Replace("{2}", movie.Name)
                                               .Replace("{3}", movie.ReleaseDate.Year.ToString())
                                               .Replace("{4}", movie.Description)
                                               .Replace("{5}", movie.LanguageText));
                this.flowLayoutPanel.Controls.Add(widget);
                widget.ViewSelected += delegate(object sender, GalleryItemSelectedEventArgs e)
                {
                    OnItemSelected(sender, e);
                };
                widget.Favourited += delegate(object sender, GalleryItemFavouriteEventArgs e)
                {
                    OnItemFavourited(sender, e);
                };

                if (Constants.ShowAds)
                {
                    if (next == 0)
                    {
                        var ad = CreateAdWidget(Constants.HorizontalAdId);
                        this.flowLayoutPanel.Controls.Add(ad);
                        next = rand.Next(4, 8);
                    }
                    else
                    {
                        next--;
                    }
                }
            }

            flowLayoutPanel_Resize(this, null);
            // AddLinks();
            this.flowLayoutPanel.ResumeLayout();
            base.OnAddItems(page);
        }
Ejemplo n.º 16
0
 public void Initialize(MoviePage page)
 {
     this.browseGalleryWidget.ClearItems();
     this.browseGalleryWidget.AddItems(page);
 }
Ejemplo n.º 17
0
 public void Before()
 {
     _login = new LoginPage(Browser);
     _movie = new MoviePage(Browser);
     _login.With("*****@*****.**", "pwd123");
 }
Ejemplo n.º 18
0
 public void AddItems(MoviePage page)
 {
     this.currentPage = page;
     OnAddItems(page);
 }
Ejemplo n.º 19
0
 protected virtual void OnAddItems(MoviePage page)
 {
 }
Ejemplo n.º 20
0
        private async void ProcessDetailAsync(object stat)
        {
            try
            {
                var       item      = stat as Match;
                MoviePage pageModel = null;
                string    movieName = ValidFileName(item.Groups[2].Value);
                var       movieUrl  = _uri.Scheme + "://" + _uri.Authority + "/bbs/" + item.Groups[1].Value;
                string    moviedir  = null;

                if (MyDbCOntextHelp.ExistMovie(movieUrl))
                {
                    pageModel = MyDbCOntextHelp.QueryMovie(m => m.Url == movieUrl);
                    moviedir  = Path.Combine(_baseDir, pageModel.Name);
                }
                else
                {
                    pageModel = new MoviePage
                    {
                        CreateTime = DateTime.Now,
                        UpdateTime = DateTime.Now,
                        Name       = movieName,
                        Url        = movieUrl,
                        IsHandler  = false,
                        Type       = _typeName,
                    };

                    LogHelp.Log("影片:" + pageModel.Name);
                    moviedir = Path.Combine(_baseDir, pageModel.Name);
                }
                if (!Directory.Exists(moviedir))
                {
                    Directory.CreateDirectory(moviedir);
                }
                if (pageModel.Id != 0 || MyDbCOntextHelp.AddPicturePage(pageModel))
                {
                    bool res = false;
                    var  detailPageString = await HttpHelp.GetPageStringAsync(pageModel.Url);

                    if (detailPageString == null || detailPageString.Length == 0 || detailPageString.Contains("您无权进行当前操作,这可能因以下原因之一造成"))
                    {
                        return;
                    }
                    //下载次数
                    var m = _regDownloadCount.Match(detailPageString);
                    if (m.Groups.Count == 2)
                    {
                        pageModel.DownloadCount = int.Parse(m.Groups[1].Value);
                    }
                    LogHelp.Log("影片下载次数:" + pageModel.DownloadCount);
                    //图片
                    var imgAreaStr = _regImgArea.Match(detailPageString).Value;

                    var mimgs   = _regImg.Matches(imgAreaStr);
                    var resList = new List <Resource>(mimgs.Count + 1);
                    for (int j = 0; j < mimgs.Count; j++)
                    {
                        var imgitem = mimgs[j];
                        var r       = new Resource
                        {
                            CreateTime    = DateTime.Now,
                            UpdateTime    = DateTime.Now,
                            PicturePageId = pageModel.Id,
                            IsHandler     = false,
                            Type          = 1,
                            Url           = imgitem.Groups[1].Value
                        };
                        if (!r.Url.StartsWith("http"))
                        {
                            r.Url = _uri.Scheme + "://" + _uri.Authority + "/bbs/" + r.Url;
                        }
                        resList.Add(r);
                    }
                    LogHelp.Log("截图{0}张.....bt文件一个", mimgs.Count);
                    //bt 检查重复
                    var btRes = new Resource
                    {
                        CreateTime    = DateTime.Now,
                        UpdateTime    = DateTime.Now,
                        PicturePageId = pageModel.Id,
                        Type          = 2,
                        IsHandler     = false,
                    };
                    var p1 = detailPageString.IndexOf("检查重复</a>");
                    if (p1 == -1)
                    {
                        return;
                    }
                    var startbt = detailPageString.IndexOf("<a href=\"", p1);
                    var endbt   = detailPageString.IndexOf("</a>", startbt);
                    var bta     = detailPageString.Substring(startbt, endbt - startbt + 4);
                    var mbt     = _regBt.Match(bta);
                    btRes.Name = mbt.Groups[2].Value;
                    btRes.Url  = _uri.Scheme + "://" + _uri.Authority + "/bbs/" + mbt.Groups[1].Value;
                    resList.Add(btRes);

                    bool isAllHandle = false;
                    MyDbCOntextHelp.AddResourceList(resList);
                    for (int i = 0; i < resList.Count - 1; i++)
                    {
                        res = await HttpHelp.DownloadImgAsync(resList[i].Url, moviedir);

                        if (res)
                        {
                        }
                    }
                    res = await HttpHelp.DownloadFileAsync(btRes.Url, Path.Combine(moviedir, btRes.Name));
                }
                LogHelp.Log("处理完毕:" + movieName);
                return;
            }
            finally
            {
                _semaphore.Release();
            }
        }
 protected override void OnAddItems(MoviePage page)
 {
     this.startIndex = 0;
     this.endIndex = Math.Min(page.Videos.Count - 1,GetControlEndIndex()) ;
     AddSinglePage();
 }
Ejemplo n.º 22
0
 protected virtual void OnAddItems(MoviePage page)
 {
 }
Ejemplo n.º 23
0
 public void AddItems(MoviePage page)
 {
     this.currentPage = page;
     OnAddItems(page);
 }
Ejemplo n.º 24
0
 protected override void OnAddItems(MoviePage page)
 {
     this.startIndex = 0;
     this.endIndex   = Math.Min(page.Videos.Count - 1, GetControlEndIndex());
     AddSinglePage();
 }
Ejemplo n.º 25
0
 public void Initialize(MoviePage page)
 {
     this.browseGalleryWidget.ClearItems();
     this.browseGalleryWidget.AddItems(page);
 }