예제 #1
0
 /// <summary>
 /// Search subtitles by imdb code and languages
 /// </summary>
 /// <param name="languages">Languages</param>
 /// <param name="imdbId">Imdb code</param>
 /// <param name="season">Season number</param>
 /// <param name="episode">Episode number</param>
 /// <returns>Subtitles</returns>
 public async Task <IList <Subtitle> > SearchSubtitlesFromImdb(string languages, string imdbId, int?season, int?episode)
 {
     using (var osdb = new Osdb().Login("OSTestUserAgentTemp"))
     {
         return(await osdb.SearchSubtitlesFromImdb(languages, imdbId, season, episode));
     }
 }
예제 #2
0
 /// <summary>
 /// Search subtitles by imdb code and languages
 /// </summary>
 /// <param name="languages">Languages</param>
 /// <param name="imdbId">Imdb code</param>
 /// <returns></returns>
 public IList <Subtitle> SearchSubtitlesFromImdb(string languages, string imdbId)
 {
     using (var osdb = new Osdb().Login("OSTestUserAgentTemp"))
     {
         return(osdb.SearchSubtitlesFromImdb(languages, imdbId));
     }
 }
예제 #3
0
        /// <summary>
        /// Search subtitles by imdb code and languages
        /// </summary>
        /// <param name="languages">Languages</param>
        /// <param name="imdbId">Imdb code</param>
        /// <param name="season">Season number</param>
        /// <param name="episode">Episode number</param>
        /// <returns>Subtitles</returns>
        public async Task <IList <Subtitle> > SearchSubtitlesFromImdb(string languages, string imdbId, int?season, int?episode)
        {
            var retrySearchSubtitlesFromImdbPolicy = Policy
                                                     .Handle <XmlRpcServerException>()
                                                     .WaitAndRetryAsync(5, retryAttempt =>
                                                                        TimeSpan.FromSeconds(Math.Pow(2, retryAttempt))
                                                                        );

            return(await retrySearchSubtitlesFromImdbPolicy.ExecuteAsync(async() =>
            {
                using (var osdb = new Osdb().Login("OSTestUserAgentTemp"))
                {
                    return await osdb.SearchSubtitlesFromImdb(languages, imdbId, season, episode);
                }
            }));
        }