static OSLanguageHelper()
        {
            AvailableUploadEnabledLanguagesList = new Dictionary <String, OSLanguage>();
            AvailableWebEnabledLanguagesList    = new Dictionary <String, OSLanguage>();
            AllLanguagesList = new Dictionary <String, OSLanguage>();
            XPathNavigator    xmlMetadataNavigator = new XPathDocument(new XmlTextReader(new StringReader(OpenSubtitlesDotNET.Resource.OSLanguageTableDump))).CreateNavigator();
            XPathNodeIterator languagesIter        = xmlMetadataNavigator.Select("OSLanguageTableDump/language");

            if (languagesIter.Count > 0)
            {
                while (languagesIter.MoveNext())
                {
                    OSLanguage language = language = new OSLanguage(languagesIter.Current.SelectSingleNode("IdSubLanguage").Value,
                                                                    languagesIter.Current.SelectSingleNode("ISO639").Value,
                                                                    languagesIter.Current.SelectSingleNode("LanguageName").Value,
                                                                    languagesIter.Current.SelectSingleNode("UploadEnabled").Value.Equals("0") ? false : true,
                                                                    languagesIter.Current.SelectSingleNode("WebEnabled").Value.Equals("0") ? false : true);
                    if (!languagesIter.Current.SelectSingleNode("UploadEnabled").Value.Equals("0"))
                    {
                        AvailableUploadEnabledLanguagesList.Add(language.IdSubLanguage, language);
                    }
                    if (!languagesIter.Current.SelectSingleNode("WebEnabled").Value.Equals("0"))
                    {
                        AvailableWebEnabledLanguagesList.Add(language.IdSubLanguage, language);
                    }
                    AllLanguagesList.Add(language.IdSubLanguage, language);
                }
            }
        }
Example #2
0
 public List <SearchSubtitleResult> SearchByFile(FileInfo VideoFile, OSLanguage languages)
 {
     if (VideoFile != null && VideoFile.Exists)
     {
         XmlRpcStruct SearchParamsStruct = new XmlRpcStruct();
         XmlRpcStruct Limit = new XmlRpcStruct();
         Limit.Add("limit", 10);
         if (languages != null)
         {
             SearchParamsStruct.Add("sublanguageid", languages.IdSubLanguage);
         }
         else
         {
             SearchParamsStruct.Add("sublanguageid", "all");
         }
         byte[] hash = GetHash.Main.ComputeHash(VideoFile.FullName);
         SearchParamsStruct.Add("moviehash", GetHash.Main.ToHexadecimal(hash));
         SearchParamsStruct.Add("moviebytesize", Convert.ToDouble(VideoFile.Length));
         XmlRpcStruct ResponseStruct = proxy.SearchSubtitles(Token, new object[2] {
             new XmlRpcStruct[1] {
                 SearchParamsStruct
             }, new XmlRpcStruct[1] {
                 Limit
             }
         });
         List <SearchSubtitleResult> SearchResultList = DoSearchRequest(ResponseStruct);
         return(SearchResultList);
     }
     return(new List <SearchSubtitleResult>());
 }
        static OSLanguageHelper()
        {
            AvailableUploadEnabledLanguagesList = new Dictionary<String,OSLanguage>();
            AvailableWebEnabledLanguagesList = new Dictionary<String, OSLanguage>();
            AllLanguagesList = new Dictionary<String, OSLanguage>();
            XPathNavigator xmlMetadataNavigator = new XPathDocument(new XmlTextReader(new StringReader(OpenSubtitlesDotNET.Resource.OSLanguageTableDump))).CreateNavigator();
            XPathNodeIterator languagesIter = xmlMetadataNavigator.Select("OSLanguageTableDump/language");
            if (languagesIter.Count > 0)
            {
                while (languagesIter.MoveNext())
                {
                    OSLanguage language = language = new OSLanguage(languagesIter.Current.SelectSingleNode("IdSubLanguage").Value,
                                languagesIter.Current.SelectSingleNode("ISO639").Value,
                                languagesIter.Current.SelectSingleNode("LanguageName").Value,
                                languagesIter.Current.SelectSingleNode("UploadEnabled").Value.Equals("0") ? false : true,
                                languagesIter.Current.SelectSingleNode("WebEnabled").Value.Equals("0") ? false : true);
                    if (!languagesIter.Current.SelectSingleNode("UploadEnabled").Value.Equals("0"))
                    {
                        AvailableUploadEnabledLanguagesList.Add(language.IdSubLanguage,language);
                    }
                    if (!languagesIter.Current.SelectSingleNode("WebEnabled").Value.Equals("0"))
                    {
                        AvailableWebEnabledLanguagesList.Add(language.IdSubLanguage,language);
                    }
                    AllLanguagesList.Add(language.IdSubLanguage, language);
                }
            }

        }
Example #4
0
        public List <SearchSubtitleResult> SearchOnlyByQuery(string query, OSLanguage languages)
        {
            XmlRpcStruct SearchParamsStruct = new XmlRpcStruct();

            SearchParamsStruct.Add("sublanguageid", languages.IdSubLanguage);
            SearchParamsStruct.Add("query", query);
            XmlRpcStruct ResponseStruct = proxy.SearchSubtitles(Token, new object[1] {
                new XmlRpcStruct[1] {
                    SearchParamsStruct
                }
            });
            List <SearchSubtitleResult> SearchResultList = DoSearchRequest(ResponseStruct);

            return(SearchResultList);
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="ImdbId"></param>
 /// <param name="query"></param>
 /// <param name="languages"></param>
 /// <returns></returns>
 public List<SearchSubtitleResult> SearchByImdbIdThenQuery(string ImdbId, string query, OSLanguage languages)
 {
     XmlRpcStruct SearchParamsStruct = new XmlRpcStruct();
     if (languages != null)
     {
         SearchParamsStruct.Add("sublanguageid", languages.IdSubLanguage);
     }
     else
     {
         SearchParamsStruct.Add("sublanguageid", "all");
     }
     if (!String.IsNullOrEmpty(ImdbId))
     {
         SearchParamsStruct.Add("imdbid", ImdbId);
     }
     if (!String.IsNullOrEmpty(query))
     {
         SearchParamsStruct.Add("query", query);
     }
     XmlRpcStruct ResponseStruct = proxy.SearchSubtitles(Token, new object[1] { new XmlRpcStruct[1] { SearchParamsStruct } });
     List<SearchSubtitleResult> SearchResultList = DoSearchRequest(ResponseStruct);
     return SearchResultList;
 }
 public List<SearchSubtitleResult> SearchByFile(FileInfo VideoFile, OSLanguage languages)
 {
     if (VideoFile != null && VideoFile.Exists)
     {
         
         XmlRpcStruct SearchParamsStruct = new XmlRpcStruct();
         if (languages != null)
         {
             SearchParamsStruct.Add("sublanguageid", languages.IdSubLanguage);
         }
         else
         {
             SearchParamsStruct.Add("sublanguageid", "all");
         }
         byte[] hash = GetHash.Main.ComputeHash(VideoFile.FullName);
         SearchParamsStruct.Add("moviehash", GetHash.Main.ToHexadecimal(hash));
         SearchParamsStruct.Add("moviebytesize", Convert.ToDouble(VideoFile.Length));
         XmlRpcStruct ResponseStruct = proxy.SearchSubtitles(Token, new object[1] { new XmlRpcStruct[1] { SearchParamsStruct } });
         List<SearchSubtitleResult> SearchResultList = DoSearchRequest(ResponseStruct);
         return SearchResultList;
     }
     return new List<SearchSubtitleResult>();
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="Query"></param>
 /// <param name="languages"></param>
 /// <returns></returns>
 public List<SearchSubtitleResult> SearchByQuery(string Query, OSLanguage languages)
 {
     return SearchByImdbIdThenQuery(null, Query, languages);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="ImdbId"></param>
 /// <param name="languages"></param>
 /// <returns></returns>
 public List<SearchSubtitleResult> SearchByImdbId(string ImdbId, OSLanguage languages)
 {
     return SearchByImdbIdThenQuery(ImdbId, null, languages);
 }
Example #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ImdbId"></param>
        /// <param name="query"></param>
        /// <param name="languages"></param>
        /// <returns></returns>
        public List <SearchSubtitleResult> SearchByImdbIdThenQuery(string ImdbId, string query, OSLanguage languages)
        {
            XmlRpcStruct SearchParamsStruct = new XmlRpcStruct();

            if (languages != null)
            {
                SearchParamsStruct.Add("sublanguageid", languages.IdSubLanguage);
            }
            else
            {
                SearchParamsStruct.Add("sublanguageid", "all");
            }
            if (!String.IsNullOrEmpty(ImdbId))
            {
                SearchParamsStruct.Add("imdbid", ImdbId);
            }
            if (!String.IsNullOrEmpty(query))
            {
                SearchParamsStruct.Add("query", query);
            }
            XmlRpcStruct ResponseStruct = proxy.SearchSubtitles(Token, new object[1] {
                new XmlRpcStruct[1] {
                    SearchParamsStruct
                }
            });
            List <SearchSubtitleResult> SearchResultList = DoSearchRequest(ResponseStruct);

            return(SearchResultList);
        }
Example #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="Query"></param>
 /// <param name="languages"></param>
 /// <returns></returns>
 public List <SearchSubtitleResult> SearchByQuery(string Query, OSLanguage languages)
 {
     return(SearchByImdbIdThenQuery(null, Query, languages));
 }
Example #11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ImdbId"></param>
 /// <param name="languages"></param>
 /// <returns></returns>
 public List <SearchSubtitleResult> SearchByImdbId(string ImdbId, OSLanguage languages)
 {
     return(SearchByImdbIdThenQuery(ImdbId, null, languages));
 }
Example #12
0
        public List <SearchSubtitleResult> SearchByEpisode(string query, string seasonNumber, string episodeNumber, OSLanguage languages)
        {
            XmlRpcStruct SearchParamsStruct = new XmlRpcStruct();

            SearchParamsStruct.Add("sublanguageid", languages.IdSubLanguage);
            SearchParamsStruct.Add("query", query);
            SearchParamsStruct.Add("season", seasonNumber);
            SearchParamsStruct.Add("episode", episodeNumber);
            XmlRpcStruct ResponseStruct = proxy.SearchSubtitles(Token, new object[1] {
                new XmlRpcStruct[1] {
                    SearchParamsStruct
                }
            });
            List <SearchSubtitleResult> SearchResultList = DoSearchRequest(ResponseStruct);

            return(SearchResultList);
        }