Private GIT
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Sick-Beard
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
vlbox
Sick-Beard
Commits
abeae9d9
Commit
abeae9d9
authored
12 years ago
by
Luca
Browse files
Options
Downloads
Patches
Plain Diff
Updating nzbx provider
parent
903f8c84
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
sickbeard/providers/nzbx.py
+14
-56
14 additions, 56 deletions
sickbeard/providers/nzbx.py
with
14 additions
and
56 deletions
sickbeard/providers/nzbx.py
+
14
−
56
View file @
abeae9d9
...
...
@@ -18,7 +18,6 @@
import
urllib
import
generic
from
datetime
import
datetime
import
json
import
sickbeard
...
...
@@ -26,9 +25,9 @@ from sickbeard import tvcache
from
sickbeard
import
logger
from
sickbeard
import
classes
from
sickbeard
import
show_name_helpers
from
datetime
import
datetime
from
lib.unidecode
import
unidecode
class
NzbXProvider
(
generic
.
NZBProvider
):
def
__init__
(
self
):
...
...
@@ -51,15 +50,15 @@ class NzbXProvider(generic.NZBProvider):
url
=
self
.
url
+
'
nzb?
'
+
str
(
item
[
'
guid
'
])
+
'
*|*
'
+
urllib
.
quote_plus
(
title
)
return
(
title
,
url
)
def
_doSearch
(
self
,
search
,
show
=
None
):
def
_doSearch
(
self
,
search
,
show
=
None
,
age
=
0
):
params
=
{
'
age
'
:
sickbeard
.
USENET_RETENTION
,
'
completion
'
:
sickbeard
.
NZBX_COMPLETION
,
'
cat
'
:
'
tv-hd|tv-sd
'
,
'
limit
'
:
250
,
'
q
'
:
search
}
if
not
params
[
'
age
'
]:
params
[
'
age
'
]
=
500
if
age
or
not
params
[
'
age
'
]:
params
[
'
age
'
]
=
age
if
not
params
[
'
completion
'
]:
params
[
'
completion
'
]
=
100
...
...
@@ -71,7 +70,7 @@ class NzbXProvider(generic.NZBProvider):
try
:
items
=
json
.
loads
(
data
)
except
ValueError
:
logger
.
log
(
u
"
Error trying to decode
"
+
self
.
provider
.
name
+
"
RSS feed
"
,
logger
.
ERROR
)
logger
.
log
(
u
"
Error trying to decode
nzbX json data
"
,
logger
.
ERROR
)
return
[]
results
=
[]
...
...
@@ -79,32 +78,15 @@ class NzbXProvider(generic.NZBProvider):
if
item
[
'
name
'
]
and
item
[
'
guid
'
]:
results
.
append
(
item
)
else
:
logger
.
log
(
u
"
Partial result from
"
+
self
.
provider
.
name
,
logger
.
DEBUG
)
logger
.
log
(
u
"
Partial result from
nzbx
"
,
logger
.
DEBUG
)
return
results
def
findPropers
(
self
,
date
=
None
):
params
=
{
'
completion
'
:
100
,
'
cat
'
:
'
tv-hd|tv-sd
'
,
'
age
'
:
4
,
'
q
'
:
'
.proper.|.repack.
'
}
url
=
self
.
url
+
'
api/sickbeard?
'
+
urllib
.
urlencode
(
params
)
logger
.
log
(
u
"
nzbX proper search url:
"
+
url
,
logger
.
DEBUG
)
data
=
self
.
getURL
(
url
)
try
:
items
=
json
.
loads
(
data
)
except
ValueError
:
logger
.
log
(
u
"
Error trying to decode
"
+
self
.
provider
.
name
+
"
RSS feed
"
,
logger
.
ERROR
)
return
[]
results
=
[]
for
item
in
items
:
if
item
[
'
name
'
]
and
item
[
'
guid
'
]
and
item
[
'
postdate
'
]:
for
item
in
self
.
_doSearch
(
'
.proper.|.repack.
'
,
age
=
4
)
:
if
item
[
'
postdate
'
]:
name
,
url
=
self
.
_get_title_and_url
(
item
)
results
.
append
(
classes
.
Proper
(
name
,
url
,
datetime
.
fromtimestamp
(
item
[
'
postdate
'
])))
else
:
logger
.
log
(
u
"
Partial result from
"
+
self
.
provider
.
name
,
logger
.
DEBUG
)
return
results
...
...
@@ -114,19 +96,6 @@ class NzbXCache(tvcache.TVCache):
tvcache
.
TVCache
.
__init__
(
self
,
provider
)
self
.
minTime
=
20
def
_getRSSData
(
self
):
params
=
{
'
q
'
:
''
,
'
completion
'
:
sickbeard
.
NZBX_COMPLETION
,
'
cat
'
:
'
tv-hd|tv-sd
'
,
'
limit
'
:
250
}
if
not
params
[
'
completion
'
]:
params
[
'
completion
'
]
=
100
url
=
self
.
provider
.
url
+
'
api/sickbeard?
'
+
urllib
.
urlencode
(
params
)
logger
.
log
(
u
"
nzbX cache update URL:
"
+
url
,
logger
.
DEBUG
)
return
self
.
provider
.
getURL
(
url
)
def
_parseItem
(
self
,
item
):
title
,
url
=
self
.
provider
.
_get_title_and_url
(
item
)
logger
.
log
(
u
"
Adding item from RSS to cache:
"
+
title
,
logger
.
DEBUG
)
...
...
@@ -136,27 +105,16 @@ class NzbXCache(tvcache.TVCache):
if
not
self
.
shouldUpdate
():
return
data
=
self
.
_getRSSData
()
# as long as the http request worked we count this as an update
if
data
:
self
.
setLastUpdate
()
else
:
items
=
self
.
provider
.
_doSearch
(
''
)
if
not
items
:
return
self
.
setLastUpdate
()
# now that we've
loaded the current RSS feed
lets delete the old cache
logger
.
log
(
u
"
Clearing
"
+
self
.
provider
.
name
+
"
cache and updating with new information
"
)
# now that we've
got the latest releases
lets delete the old cache
logger
.
log
(
u
"
Clearing
nzbX
cache and updating with new information
"
)
self
.
_clearCache
()
try
:
items
=
json
.
loads
(
data
)
except
ValueError
:
logger
.
log
(
u
"
Error trying to decode
"
+
self
.
provider
.
name
+
"
RSS feed
"
,
logger
.
ERROR
)
return
for
item
in
items
:
if
item
[
'
name
'
]
and
item
[
'
guid
'
]:
self
.
_parseItem
(
item
)
else
:
logger
.
log
(
u
"
Partial result from
"
+
self
.
provider
.
name
,
logger
.
DEBUG
)
provider
=
NzbXProvider
()
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment