2014-03-10 05:18:05 +00:00
# Author: Nyaran <nyayukko@gmail.com>, based on Antoine Bertin <diaoulael@gmail.com> work
# URL: http://code.google.com/p/sickbeard/
#
2014-11-12 16:43:14 +00:00
# This file is part of SickGear.
2014-03-10 05:18:05 +00:00
#
2014-11-12 16:43:14 +00:00
# SickGear is free software: you can redistribute it and/or modify
2014-03-10 05:18:05 +00:00
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
2014-11-12 16:43:14 +00:00
# SickGear is distributed in the hope that it will be useful,
2014-03-10 05:18:05 +00:00
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
2014-11-12 16:43:14 +00:00
# along with SickGear. If not, see <http://www.gnu.org/licenses/>.
2014-03-10 05:18:05 +00:00
2014-05-17 18:14:48 +00:00
import time
2014-03-10 05:18:05 +00:00
import datetime
import sickbeard
from sickbeard . common import *
2014-05-15 01:41:08 +00:00
from sickbeard import notifiers
2014-03-10 05:18:05 +00:00
from sickbeard import logger
from sickbeard import helpers
from sickbeard import encodingKludge as ek
from sickbeard import db
2014-05-15 01:41:08 +00:00
from sickbeard import history
2014-03-10 05:18:05 +00:00
from lib import subliminal
2014-05-15 01:41:08 +00:00
SINGLE = ' und '
2014-05-14 21:52:05 +00:00
def sortedServiceList ( ) :
2014-05-15 01:41:08 +00:00
servicesMapping = dict ( [ ( x . lower ( ) , x ) for x in subliminal . core . SERVICES ] )
2014-03-10 05:18:05 +00:00
newList = [ ]
# add all services in the priority list, in order
curIndex = 0
for curService in sickbeard . SUBTITLES_SERVICES_LIST :
2014-05-15 01:41:08 +00:00
if curService in servicesMapping :
curServiceDict = { ' id ' : curService , ' image ' : curService + ' .png ' , ' name ' : servicesMapping [ curService ] , ' enabled ' : sickbeard . SUBTITLES_SERVICES_ENABLED [ curIndex ] == 1 , ' api_based ' : __import__ ( ' lib.subliminal.services. ' + curService , globals = globals ( ) , locals = locals ( ) , fromlist = [ ' Service ' ] , level = - 1 ) . Service . api_based , ' url ' : __import__ ( ' lib.subliminal.services. ' + curService , globals = globals ( ) , locals = locals ( ) , fromlist = [ ' Service ' ] , level = - 1 ) . Service . site_url }
2014-03-10 05:18:05 +00:00
newList . append ( curServiceDict )
curIndex + = 1
# add any services that are missing from that list
2014-05-15 01:41:08 +00:00
for curService in servicesMapping . keys ( ) :
2014-03-10 05:18:05 +00:00
if curService not in [ x [ ' id ' ] for x in newList ] :
2014-05-15 01:41:08 +00:00
curServiceDict = { ' id ' : curService , ' image ' : curService + ' .png ' , ' name ' : servicesMapping [ curService ] , ' enabled ' : False , ' api_based ' : __import__ ( ' lib.subliminal.services. ' + curService , globals = globals ( ) , locals = locals ( ) , fromlist = [ ' Service ' ] , level = - 1 ) . Service . api_based , ' url ' : __import__ ( ' lib.subliminal.services. ' + curService , globals = globals ( ) , locals = locals ( ) , fromlist = [ ' Service ' ] , level = - 1 ) . Service . site_url }
2014-03-10 05:18:05 +00:00
newList . append ( curServiceDict )
return newList
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-03-10 05:18:05 +00:00
def getEnabledServiceList ( ) :
return [ x [ ' name ' ] for x in sortedServiceList ( ) if x [ ' enabled ' ] ]
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-05-15 01:41:08 +00:00
def isValidLanguage ( language ) :
return subliminal . language . language_list ( language )
2014-03-10 05:18:05 +00:00
def getLanguageName ( selectLang ) :
2014-05-15 01:41:08 +00:00
return subliminal . language . Language ( selectLang ) . name
2014-03-10 05:18:05 +00:00
2014-04-24 05:18:16 +00:00
def wantedLanguages ( sqlLike = False ) :
2014-03-10 05:18:05 +00:00
wantedLanguages = sorted ( sickbeard . SUBTITLES_LANGUAGES )
if sqlLike :
return ' % ' + ' , ' . join ( wantedLanguages ) + ' % '
return wantedLanguages
def subtitlesLanguages ( video_path ) :
""" Return a list detected subtitles for the given video file """
2014-05-15 01:41:08 +00:00
video = subliminal . videos . Video . from_path ( video_path )
subtitles = video . scan ( )
languages = set ( )
for subtitle in subtitles :
if subtitle . language :
languages . add ( subtitle . language . alpha2 )
else :
languages . add ( SINGLE )
return list ( languages )
2014-03-10 05:18:05 +00:00
# Return a list with languages that have alpha2 code
def subtitleLanguageFilter ( ) :
2014-05-15 01:41:08 +00:00
return [ language for language in subliminal . language . LANGUAGES if language [ 2 ] != " " ]
2014-03-10 05:18:05 +00:00
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
class SubtitlesFinder :
2014-03-10 05:18:05 +00:00
"""
The SubtitlesFinder will be executed every hour but will not necessarly search
and download subtitles . Only if the defined rule is true
"""
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
def __init__ ( self ) :
self . amActive = False
2017-12-27 17:54:19 +00:00
@staticmethod
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
def is_enabled ( ) :
return sickbeard . USE_SUBTITLES
def run ( self ) :
if self . is_enabled ( ) :
self . amActive = True
self . _main ( )
self . amActive = False
2017-12-27 17:54:19 +00:00
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
def _main ( self ) :
2014-03-10 05:18:05 +00:00
if len ( sickbeard . subtitles . getEnabledServiceList ( ) ) < 1 :
2014-04-24 05:18:16 +00:00
logger . log ( u ' Not enough services selected. At least 1 service is required to search subtitles in the background ' , logger . ERROR )
2014-03-10 05:18:05 +00:00
return
logger . log ( u ' Checking for subtitles ' , logger . MESSAGE )
# get episodes on which we want subtitles
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
# criteria is:
2014-03-10 05:18:05 +00:00
# - show subtitles = 1
# - episode subtitles != config wanted languages or SINGLE (depends on config multi)
# - search count < 2 and diff(airdate, now) > 1 week : now -> 1d
# - search count < 7 and diff(airdate, now) <= 1 week : now -> 4h -> 8h -> 16h -> 1d -> 1d -> 1d
2014-06-07 21:32:38 +00:00
2014-03-10 05:18:05 +00:00
today = datetime . date . today ( ) . toordinal ( )
2014-06-07 21:32:38 +00:00
2014-03-10 05:18:05 +00:00
# you have 5 minutes to understand that one. Good luck
2014-06-21 22:46:59 +00:00
myDB = db . DBConnection ( )
sqlResults = myDB . 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 airdate_daydiff 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.subtitles_searchcount <= 2 AND (? - e.airdate) > 7) OR (e.subtitles_searchcount <= 7 AND (? - e.airdate) <= 7)) AND (e.status IN ( ' + ' , ' . join ( [ str ( x ) for x in Quality . DOWNLOADED ] ) + ' ) OR (e.status IN ( ' + ' , ' . join ( [ str ( x ) for x in Quality . SNATCHED + Quality . SNATCHED_PROPER ] ) + ' ) AND e.location != " " )) ' , [ today , wantedLanguages ( True ) , today , today ] )
2014-03-10 05:18:05 +00:00
if len ( sqlResults ) == 0 :
logger . log ( ' No subtitles to download ' , logger . MESSAGE )
return
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-03-10 05:18:05 +00:00
rules = self . _getRules ( )
2014-03-25 05:57:24 +00:00
now = datetime . datetime . now ( )
2014-03-10 05:18:05 +00:00
for epToSub in sqlResults :
2014-05-17 18:14:48 +00:00
2014-03-10 05:18:05 +00:00
if not ek . ek ( os . path . isfile , epToSub [ ' location ' ] ) :
2014-04-24 05:18:16 +00:00
logger . log ( ' Episode file does not exist, cannot download subtitles for episode %d x %d of show %s ' % ( epToSub [ ' season ' ] , epToSub [ ' episode ' ] , epToSub [ ' show_name ' ] ) , logger . DEBUG )
2014-03-10 05:18:05 +00:00
continue
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-03-10 05:18:05 +00:00
# Old shows rule
2014-04-27 22:16:43 +00:00
throwaway = datetime . datetime . strptime ( ' 20110101 ' , ' % Y % m %d ' )
2014-04-24 05:18:16 +00:00
if ( ( epToSub [ ' airdate_daydiff ' ] > 7 and epToSub [ ' searchcount ' ] < 2 and now - datetime . datetime . strptime ( epToSub [ ' lastsearch ' ] , ' % Y- % m- %d % H: % M: % S ' ) > datetime . timedelta ( hours = rules [ ' old ' ] [ epToSub [ ' searchcount ' ] ] ) ) or
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
# Recent shows rule
2014-04-24 05:18:16 +00:00
( epToSub [ ' airdate_daydiff ' ] < = 7 and epToSub [ ' searchcount ' ] < 7 and now - datetime . datetime . strptime ( epToSub [ ' lastsearch ' ] , ' % Y- % m- %d % H: % M: % S ' ) > datetime . timedelta ( hours = rules [ ' new ' ] [ epToSub [ ' searchcount ' ] ] ) ) ) :
logger . log ( ' Downloading subtitles for episode %d x %d of show %s ' % ( epToSub [ ' season ' ] , epToSub [ ' episode ' ] , epToSub [ ' show_name ' ] ) , logger . DEBUG )
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-03-10 05:18:05 +00:00
showObj = helpers . findCertainShow ( sickbeard . showList , int ( epToSub [ ' showid ' ] ) )
if not showObj :
logger . log ( u ' Show not found ' , logger . DEBUG )
return
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-03-10 05:18:05 +00:00
epObj = showObj . getEpisode ( int ( epToSub [ " season " ] ) , int ( epToSub [ " episode " ] ) )
if isinstance ( epObj , str ) :
logger . log ( u ' Episode not found ' , logger . DEBUG )
return
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-03-10 05:18:05 +00:00
previous_subtitles = epObj . subtitles
Add choose to delete watched episodes from a list of played media at Kodi, Emby, and/or Plex.
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched".
Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater".
Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval".
Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval".
Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history.
Change history page table filter input values are saved across page refreshes.
Change history page table filter inputs, accept values like "dvd or web" to only display both.
Change history page table filter inputs, press 'ESC' key inside a filter input to reset it.
Add provider activity stats to Shows/History/Layout/ drop down.
Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails.
Change sort provider failures by most recent failure, and with paused providers at the top.
Change remove table form non-testing version 20007, that was reassigned.
2018-03-06 01:18:08 +00:00
2014-03-10 05:18:05 +00:00
try :
subtitles = epObj . downloadSubtitles ( )
except :
logger . log ( u ' Unable to find subtitles ' , logger . DEBUG )
return
def _getRules ( self ) :
"""
Define the hours to wait between 2 subtitles search depending on :
- the episode : new or old
- the number of searches done so far ( searchcount ) , represented by the index of the list
"""
return { ' old ' : [ 0 , 24 ] , ' new ' : [ 0 , 4 , 8 , 4 , 16 , 24 , 24 ] }