public OpenSubtitles(HashSet <string> languages, IAuthCredentialProvider credentialProvider, ILogger logger) : base(languages) { this.credentialProvider = credentialProvider; this.logger = logger; supportedLanguages = GetSupportedLanguages(languages); RequestRetryLimit = 3; // max 3 retries, and with some seconds delay is necessary for opensubtitles startTime = DateTime.Now.Date; // Max 40 requests per 10 seconds per IP // Max 200 subtitle downloads per 24 hour per IP/User // User has to register as VIP to download 1000 per 24 hours. // We will have to keep track on requests and downloads for this provider to not exceed the limit and first rely on other providers such as subscene keepAliveThread = new Thread(KeepAliveProcess); keepAliveThread.Start(); }
public OpenSubtitles(HashSet <string> languages, IAuthCredentialProvider credentialProvider) : base(languages) { this.credentialProvider = credentialProvider; this.supportedLanguages = GetSupportedLanguages(languages); // until we get our user agent registered for OpenSubtitles.org // we can use a temporary one. // See: http://trac.opensubtitles.org/projects/opensubtitles/wiki/DevReadFirst UserAgent = "TemporaryUserAgent"; RequestRetryLimit = 3; // max 3 retries, and with some seconds delay is necessary for opensubtitles startTime = DateTime.Now.Date; // Max 40 requests per 10 seconds per IP // Max 200 subtitle downloads per 24 hour per IP/User // User has to register as VIP to download 1000 per 24 hours. // We will have to keep track on requests and downloads for this provider to not exceed the limit and first rely on other providers such as subscene keepAliveThread = new Thread(KeepAliveProcess); keepAliveThread.Start(); }