Beispiel #1
0
 /// <summary>
 /// Download a subtitle to a path
 /// </summary>
 /// <param name="path">Path to download</param>
 /// <param name="subtitle">Subtitle to download</param>
 /// <returns>Downloaded subtitle path</returns>
 public async Task <string> DownloadSubtitleToPath(string path, Subtitle subtitle)
 {
     using (var osdb = new Osdb().Login("OSTestUserAgentTemp"))
     {
         return(await osdb.DownloadSubtitleToPath(path, subtitle));
     }
 }
Beispiel #2
0
        /// <summary>
        /// Download a subtitle to a path
        /// </summary>
        /// <param name="path">Path to download</param>
        /// <param name="subtitle">Subtitle to download</param>
        /// <returns>Downloaded subtitle path</returns>
        public async Task <string> DownloadSubtitleToPath(string path, Subtitle subtitle)
        {
            var retryDownloadSubtitleToPathPolicy = Policy
                                                    .Handle <XmlRpcServerException>()
                                                    .WaitAndRetryAsync(5, retryAttempt =>
                                                                       TimeSpan.FromSeconds(Math.Pow(2, retryAttempt))
                                                                       );

            return(await retryDownloadSubtitleToPathPolicy.ExecuteAsync(async() =>
            {
                using (var osdb = new Osdb().Login("OSTestUserAgentTemp"))
                {
                    return await osdb.DownloadSubtitleToPath(path, subtitle);
                }
            }));
        }