示例#1
0
        public void GetInfoFromWeb(IMyCollectionsData item)
        {
            string search = string.Empty;

            try
            {
                bool      bFind      = false;
                Hashtable objResults = null;

                Movie objEntity = item as Movie;
                if (objEntity == null)
                {
                    return;
                }

                if (objEntity.IsComplete == false)
                {
                    string strSearch = objEntity.Title;
                    search = strSearch;

                    search = Util.CleanExtensions(search);

                    Task.Factory.StartNew(() => Util.NotifyEvent("getInfoFromWeb: Movie : " + search));

                    #region TMDB

                    if (MySettings.EnableTMDBMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = TheMovieDbServices.Search(strSearch, LanguageType.EN);

                        if (results != null && results.Any())
                        {
                            objResults = TheMovieDbServices.Parse(results[0].Link, LanguageType.EN);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }
                    if (bFind == false && MySettings.EnableTMDBFrMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = TheMovieDbServices.Search(strSearch, LanguageType.FR);

                        if (results != null && results.Any())
                        {
                            objResults = TheMovieDbServices.Parse(results[0].Link, LanguageType.FR);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }
                    if (bFind == false && MySettings.EnableTMDBDeMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = TheMovieDbServices.Search(strSearch, LanguageType.DE);

                        if (results != null && results.Any())
                        {
                            objResults = TheMovieDbServices.Parse(results[0].Link, LanguageType.DE);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }
                    if (bFind == false && MySettings.EnableTMDBItMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = TheMovieDbServices.Search(strSearch, LanguageType.IT);

                        if (results != null && results.Any())
                        {
                            objResults = TheMovieDbServices.Parse(results[0].Link, LanguageType.IT);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }
                    if (bFind == false && MySettings.EnableTMDBCnMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = TheMovieDbServices.Search(strSearch, LanguageType.CN);

                        if (results != null && results.Any())
                        {
                            objResults = TheMovieDbServices.Parse(results[0].Link, LanguageType.CN);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }
                    if (bFind == false && MySettings.EnableTMDBSpMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = TheMovieDbServices.Search(strSearch, LanguageType.ES);

                        if (results != null && results.Any())
                        {
                            objResults = TheMovieDbServices.Parse(results[0].Link, LanguageType.ES);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    if (bFind == false && MySettings.EnableTMDBPtMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = TheMovieDbServices.Search(strSearch, LanguageType.PT);

                        if (results != null && results.Any())
                        {
                            objResults = TheMovieDbServices.Parse(results[0].Link, LanguageType.PT);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region Allocine

                    if (bFind == false && MySettings.EnableAlloCineMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AlloCineServices.Search(strSearch, LanguageType.FR);

                        if (results != null && results.Any())
                        {
                            objResults = AlloCineServices.Parse(results[0].Link, LanguageType.FR);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    if (bFind == false && MySettings.EnableAdoroCinemaMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AlloCineServices.Search(strSearch, LanguageType.BR);

                        if (results != null && results.Any())
                        {
                            objResults = AlloCineServices.Parse(results[0].Link, LanguageType.BR);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    if (bFind == false && MySettings.EnableFilmStartsMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AlloCineServices.Search(strSearch, LanguageType.DE);

                        if (results != null && results.Any())
                        {
                            objResults = AlloCineServices.Parse(results[0].Link, LanguageType.DE);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region IMDB

                    if (bFind == false && MySettings.EnableIMDBMovies == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = ImdbServices.Search(strSearch);

                        if (results != null && results.Any())
                        {
                            objResults = ImdbServices.Parse(results[0].Link, true, strSearch);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region Amazon US

                    if (bFind == false && MySettings.EnableAmazonMovie == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD,
                                                                                   AmazonCountry.com, AmazonBrowserNode.None);

                        if (results != null && results.Any())
                        {
                            objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.com,
                                                              !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region Amazon FR

                    if (bFind == false && MySettings.EnableAmazonFrMovie == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD,
                                                                                   AmazonCountry.fr, AmazonBrowserNode.None);

                        if (results != null && results.Any())
                        {
                            objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.fr,
                                                              !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region Amazon DE

                    if (bFind == false && MySettings.EnableAmazonDeMovie == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD,
                                                                                   AmazonCountry.de, AmazonBrowserNode.None);

                        if (results != null && results.Any())
                        {
                            objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.de,
                                                              !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region Amazon IT

                    if (bFind == false && MySettings.EnableAmazonItMovie == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD,
                                                                                   AmazonCountry.it, AmazonBrowserNode.None);

                        if (results != null && results.Any())
                        {
                            objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.it,
                                                              !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region Amazon CN

                    if (bFind == false && MySettings.EnableAmazonCnMovie == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD,
                                                                                   AmazonCountry.cn, AmazonBrowserNode.None);

                        if (results != null && results.Any())
                        {
                            objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.cn,
                                                              !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion
                    #region Amazon ES

                    if (bFind == false && MySettings.EnableAmazonSpMovie == true)
                    {
                        strSearch = objEntity.Title;

                        if (MySettings.CleanTitle == true)
                        {
                            strSearch = Util.CleanExtensions(strSearch);
                        }

                        if (string.IsNullOrEmpty(objEntity.OriginalTitle) == false)
                        {
                            strSearch = objEntity.OriginalTitle;
                        }

                        Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD,
                                                                                   AmazonCountry.es, AmazonBrowserNode.None);

                        if (results != null && results.Any())
                        {
                            objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.es,
                                                              !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                        }

                        if (objResults != null)
                        {
                            bFind = Fill(objResults, objEntity);
                        }
                    }

                    #endregion

                    CommonServices.Update(objEntity);
                }
            }
            catch (Exception exception)
            {
                Util.LogException(exception, search);
                throw;
            }
        }
示例#2
0
        public void GetInfoFromWeb(IMyCollectionsData item)
        {
            SeriesSeason objEntity = item as SeriesSeason;

            if (objEntity == null)
            {
                return;
            }

            bool bFind = false;

            string strSearch = objEntity.Title;

            if (string.IsNullOrWhiteSpace(strSearch))
            {
                return;
            }

            if (MySettings.CleanTitle == true)
            {
                strSearch = Util.CleanExtensions(strSearch);
            }

            string search = strSearch;

            Task.Factory.StartNew(() => Util.NotifyEvent("getInfoFromWeb: Serie : " + search));

            #region TVDB

            Hashtable objResults = null;
            if (MySettings.EnableTVDBSeries == true)
            {
                Collection <PartialMatche> results = TvdbServices.Search(strSearch, LanguageType.EN);

                if (results != null && results.Any())
                {
                    objResults = TvdbServices.Parse(results[0].Link, LanguageType.EN);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }

            if (bFind == false && MySettings.EnableTVDBFrSeries == true)
            {
                Collection <PartialMatche> results = TvdbServices.Search(strSearch, LanguageType.FR);

                if (results != null && results.Any())
                {
                    objResults = TvdbServices.Parse(results[0].Link, LanguageType.FR);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }

            if (bFind == false && MySettings.EnableTVDBDeSeries == true)
            {
                Collection <PartialMatche> results = TvdbServices.Search(strSearch, LanguageType.DE);

                if (results != null && results.Any())
                {
                    objResults = TvdbServices.Parse(results[0].Link, LanguageType.DE);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableTVDBItSeries == true)
            {
                Collection <PartialMatche> results = TvdbServices.Search(strSearch, LanguageType.IT);

                if (results != null && results.Any())
                {
                    objResults = TvdbServices.Parse(results[0].Link, LanguageType.IT);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableTVDBCnSeries == true)
            {
                Collection <PartialMatche> results = TvdbServices.Search(strSearch, LanguageType.CN);

                if (results != null && results.Any())
                {
                    objResults = TvdbServices.Parse(results[0].Link, LanguageType.CN);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableTVDBSpSeries == true)
            {
                Collection <PartialMatche> results = TvdbServices.Search(strSearch, LanguageType.ES);

                if (results != null && results.Any())
                {
                    objResults = TvdbServices.Parse(results[0].Link, LanguageType.ES);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableTVDBPtSeries == true)
            {
                Collection <PartialMatche> results = TvdbServices.Search(strSearch, LanguageType.PT);

                if (results != null && results.Any())
                {
                    objResults = TvdbServices.Parse(results[0].Link, LanguageType.PT);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            #endregion
            if (bFind == false && MySettings.EnableAlloCineSeries == true)
            {
                Collection <PartialMatche> results = AlloCineServices.SearchSeries(strSearch, LanguageType.FR);

                if (results != null && results.Any())
                {
                    objResults = AlloCineServices.ParseSeries(results[0].Link, objEntity.Season.ToString(CultureInfo.InvariantCulture), LanguageType.FR);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }

            if (bFind == false && MySettings.EnableIMDBSeries == true)
            {
                Collection <PartialMatche> results = ImdbServices.SearchSeries2(strSearch);

                if (results != null && results.Any())
                {
                    objResults = ImdbServices.Parse(results[0].Link, true, strSearch);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }

            if (bFind == false && MySettings.EnableAmazonSeries == true)
            {
                Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD, AmazonCountry.com, AmazonBrowserNode.None);

                if (results != null && results.Any())
                {
                    objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.com, !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }

            if (bFind == false && MySettings.EnableAmazonFrSeries == true)
            {
                Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD, AmazonCountry.fr, AmazonBrowserNode.None);

                if (results != null && results.Any())
                {
                    objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.fr, !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableAmazonDeSeries == true)
            {
                Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD, AmazonCountry.de, AmazonBrowserNode.None);

                if (results != null && results.Any())
                {
                    objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.de, !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableAmazonItSeries == true)
            {
                Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD, AmazonCountry.it, AmazonBrowserNode.None);

                if (results != null && results.Any())
                {
                    objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.it, !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableAmazonCnSeries == true)
            {
                Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD, AmazonCountry.cn, AmazonBrowserNode.None);

                if (results != null && results.Any())
                {
                    objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.cn, !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }
            if (bFind == false && MySettings.EnableAmazonSpSeries == true)
            {
                Collection <PartialMatche> results = AmazonServices.Search(strSearch, string.Empty, AmazonIndex.DVD, AmazonCountry.es, AmazonBrowserNode.None);

                if (results != null && results.Any())
                {
                    objResults = AmazonServices.Parse(results[0].Link, AmazonCountry.es, !string.IsNullOrWhiteSpace(objEntity.BarCode), AmazonIndex.DVD, string.Empty);
                }

                if (objResults != null)
                {
                    bFind = Fill(objResults, objEntity);
                }
            }

            CommonServices.Update(objEntity);
        }