From 979301dee01241028ca1c5e9e30f7cf6fb6cf451 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Mon, 12 Dec 2022 06:33:31 -0500 Subject: [PATCH] Updated opensubtitles.com to give more information to the download limit reached exception. --- libs/subliminal_patch/providers/opensubtitlescom.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libs/subliminal_patch/providers/opensubtitlescom.py b/libs/subliminal_patch/providers/opensubtitlescom.py index ca8d90193..532998c0d 100644 --- a/libs/subliminal_patch/providers/opensubtitlescom.py +++ b/libs/subliminal_patch/providers/opensubtitlescom.py @@ -454,7 +454,17 @@ def checked(fn, raise_api_limit=False, validate_token=False, validate_json=False elif status_code == 403: raise ProviderError("Bazarr API key seems to be in problem") elif status_code == 406: - raise DownloadLimitExceeded("Daily download limit reached") + try: + json_response = response.json() + download_count = json_response['requests'] + remaining_download = json_response['remaining'] + quota_reset_time = json_response['reset_time'] + except JSONDecodeError: + raise ProviderError('Invalid JSON returned by provider') + else: + raise DownloadLimitExceeded(f"Daily download limit reached. {download_count} subtitles have been " + f"downloaded and {remaining_download} remaining subtitles can be " + f"downloaded. Quota will be reset in {quota_reset_time}.") elif status_code == 410: raise ProviderError("Download as expired") elif status_code == 429: