Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
SiCKRAGE
sickrage
Commits
dc461654
Commit
dc461654
authored
Apr 16, 2022
by
echel0n
Browse files
added retries for rarbg search provider
parent
2f4b4478
Changes
2
Show whitespace changes
Inline
Side-by-side
sickrage/core/config/helpers.py
View file @
dc461654
...
...
@@ -112,6 +112,8 @@ def change_gui_lang(language):
# System default language
gettext
.
install
(
'messages'
,
sickrage
.
LOCALE_DIR
,
codeset
=
'UTF-8'
,
names
=
[
"ngettext"
])
sickrage
.
app
.
config
.
gui
.
gui_lang
=
language
def
change_unrar_tool
(
unrar_tool
):
# Check for failed unrar attempt, and remove it
...
...
sickrage/search_providers/torrent/rarbg.py
View file @
dc461654
...
...
@@ -127,23 +127,27 @@ class RarbgProvider(TorrentProvider):
search_params
[
'search_string'
]
=
search_string
max_retries
=
retries
=
5
while
retries
>
0
:
backoff
=
2
**
(
max_retries
-
retries
)
# Check if token is still valid before search
if
not
self
.
login
():
continue
break
# sleep
5 secs
per request
sleep
(
5
)
# sleep per request
based on backoff variable
sleep
(
backoff
)
resp
=
self
.
session
.
get
(
self
.
urls
[
'api'
],
params
=
search_params
,
random_ua
=
True
)
if
not
resp
or
not
resp
.
content
:
sickrage
.
app
.
log
.
debug
(
"No data returned from provider"
)
continue
break
try
:
data
=
resp
.
json
()
except
ValueError
:
sickrage
.
app
.
log
.
debug
(
"No data returned from provider"
)
continue
break
error
=
data
.
get
(
'error'
)
error_code
=
data
.
get
(
'error_code'
)
...
...
@@ -152,18 +156,28 @@ class RarbgProvider(TorrentProvider):
if
error_code
==
5
:
# 5 = Too many requests per second
log_level
=
sickrage
.
app
.
log
.
INFO
elif
error_code
not
in
(
4
,
8
,
10
,
12
,
14
,
20
):
# 4 = Invalid token. Use get_token for a new one!
retries
-=
1
elif
error_code
not
in
(
8
,
10
,
12
,
14
,
20
):
# 8, 10, 12, 14 = Cant find * in database. Are you sure this * exists?
# 20 = No results found
log_level
=
sickrage
.
app
.
log
.
WARNING
retries
=
0
elif
error_code
not
in
(
2
,
4
):
# 2, 4 = Invalid token. Use get_token for a new one!
log_level
=
sickrage
.
app
.
log
.
WARNING
retries
-=
1
else
:
log_level
=
sickrage
.
app
.
log
.
DEBUG
retries
=
0
sickrage
.
app
.
log
.
log
(
log_level
,
'{msg} Code: {code}'
.
format
(
msg
=
error
,
code
=
error_code
))
if
retries
:
continue
sickrage
.
app
.
log
.
log
(
log_level
,
'{msg} Code: {code}'
.
format
(
msg
=
error
,
code
=
error_code
))
break
results
+=
self
.
parse
(
data
,
mode
)
break
return
results
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment