Skip to content

Commit

Permalink
Merge pull request #56 from pymedusa/limit-subs-search
Browse files Browse the repository at this point in the history
Limit subtitle results to search
  • Loading branch information
labrys committed Mar 1, 2016
2 parents 6d80270 + de0297f commit 4d6d66c
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions sickbeard/subtitles.py
Original file line number Diff line number Diff line change
Expand Up @@ -483,17 +483,22 @@ def dhm(td):
statuses = list({status for status in Quality.DOWNLOADED + Quality.ARCHIVED})

database = db.DBConnection()
sql_results = database.select(
"SELECT s.show_name, e.showid, e.season, e.episode, "
"e.status, e.subtitles, e.subtitles_searchcount AS searchcount, "
"e.subtitles_lastsearch AS lastsearch, e.location, (? - e.airdate) as age "
"FROM tv_episodes AS e INNER JOIN tv_shows AS s "
"ON (e.showid = s.indexer_id) "
"WHERE s.subtitles = 1 AND e.subtitles NOT LIKE ? "
"AND e.location != '' AND e.status IN (%s) ORDER BY age ASC" %
','.join(['?'] * len(statuses)),
[datetime.datetime.now().toordinal(), wanted_languages(True)] + statuses
)
# Shows with air date <= 30 days, have a limit of 100 results
# Shows with air date > 30 days, have a limit of 200 results
sql_args = [['<=', 100], ['>', 200]]
sql_results = []
for args in sql_args:
sql_results += database.select(
"SELECT s.show_name, e.showid, e.season, e.episode, "
"e.status, e.subtitles, e.subtitles_searchcount AS searchcount, "
"e.subtitles_lastsearch AS lastsearch, e.location, (? - e.airdate) as age "
"FROM tv_episodes AS e INNER JOIN tv_shows AS s "
"ON (e.showid = s.indexer_id) "
"WHERE s.subtitles = 1 AND age {} 30 AND e.subtitles NOT LIKE ? "
"AND e.location != '' AND e.status IN ({}) ORDER BY lastsearch ASC LIMIT {}".format
(args[0], ','.join(['?'] * len(statuses)), args[1]),
[datetime.datetime.now().toordinal(), wanted_languages(True)] + statuses
)

if not sql_results:
logger.log(u'No subtitles to download', logger.INFO)
Expand Down

0 comments on commit 4d6d66c

Please sign in to comment.