Skip to content

Commit

Permalink
Merge branch 'development' of github.com:midgetspy/Sick-Beard
Browse files Browse the repository at this point in the history
  • Loading branch information
midgetspy committed Nov 16, 2014
2 parents 4899745 + 6670e47 commit 31ceaf1
Show file tree
Hide file tree
Showing 13 changed files with 109 additions and 82 deletions.
8 changes: 4 additions & 4 deletions data/interfaces/default/home.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@

#set $myDB = $db.DBConnection()
#set $today = str($datetime.date.today().toordinal())
#set status_quality = '(' + ','.join([str(x) for x in $Quality.SNATCHED + $Quality.SNATCHED_PROPER]) + ')'
#set status_snatched = '(' + ','.join([str(x) for x in $Quality.SNATCHED + $Quality.SNATCHED_PROPER]) + ')'
#set status_download = '(' + ','.join([str(x) for x in $Quality.DOWNLOADED + [$ARCHIVED]]) + ')'

#set $sql_statement = 'SELECT showid, '

#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE showid=tv_eps.showid AND season > 0 AND episode > 0 AND status IN ' + $status_quality + ') AS ep_snatched, '
#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE showid=tv_eps.showid AND season > 0 AND episode > 0 AND status IN ' + $status_snatched + ') AS ep_snatched, '
#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE showid=tv_eps.showid AND season > 0 AND episode > 0 AND status IN ' + $status_download + ') AS ep_downloaded, '

#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE showid=tv_eps.showid AND season > 0 AND episode > 0 '
#set $sql_statement += ' AND ((airdate > 1 AND airdate <= ' + $today + ' AND (status = ' + str($SKIPPED) + ' OR status = ' + str($WANTED) + ')) '
#set $sql_statement += ' OR (status IN ' + status_quality + ') OR (status IN ' + status_download + '))) AS ep_total, '
#set $sql_statement += ' OR (status IN ' + status_snatched + ') OR (status IN ' + status_download + '))) AS ep_total, '

#set $sql_statement += ' (SELECT airdate FROM tv_episodes WHERE showid=tv_eps.showid AND airdate >= ' + $today + ' AND status = ' + str($UNAIRED) + ' ORDER BY airdate ASC LIMIT 1) AS ep_airs_next '
#set $sql_statement += ' FROM tv_episodes tv_eps GROUP BY showid'
Expand Down Expand Up @@ -189,7 +189,7 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name))
#end if

#if $cur_total != 0:
#set $download_stat = str($cur_downloaded + $cur_snatched)
#set $download_stat = str($cur_downloaded)
#set $download_stat_tip = "Downloaded: " + str($cur_downloaded)
#if $cur_snatched > 0:
#set $download_stat_tip = download_stat_tip + "&#013;" + "Snatched: " + str($cur_snatched)
Expand Down
6 changes: 3 additions & 3 deletions data/interfaces/default/inc_bottom.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@
<div class="container footer">
#set $myDB = $db.DBConnection()
#set $today = str($datetime.date.today().toordinal())
#set status_quality = '(' + ','.join([str(quality) for quality in $Quality.SNATCHED + $Quality.SNATCHED_PROPER]) + ')'
#set status_snatched = '(' + ','.join([str(quality) for quality in $Quality.SNATCHED + $Quality.SNATCHED_PROPER]) + ')'
#set status_download = '(' + ','.join([str(quality) for quality in $Quality.DOWNLOADED + [$ARCHIVED]]) + ')'

#set $sql_statement = 'SELECT '

#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE season > 0 AND episode > 0 AND status IN ' + $status_quality + ') AS ep_snatched, '
#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE season > 0 AND episode > 0 AND status IN ' + $status_snatched + ') AS ep_snatched, '
#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE season > 0 AND episode > 0 AND status IN ' + $status_download + ') AS ep_downloaded, '

#set $sql_statement += '(SELECT COUNT(*) FROM tv_episodes WHERE season > 0 AND episode > 0 '
#set $sql_statement += ' AND ((airdate > 1 AND airdate <= ' + $today + ' AND (status = ' + str($SKIPPED) + ' OR status = ' + str($WANTED) + ')) '
#set $sql_statement += ' OR (status IN ' + status_quality + ') OR (status IN ' + status_download + '))) AS ep_total '
#set $sql_statement += ' OR (status IN ' + status_snatched + ') OR (status IN ' + status_download + '))) AS ep_total '

#set $sql_statement += ' FROM tv_episodes tv_eps LIMIT 1'

Expand Down
2 changes: 1 addition & 1 deletion data/interfaces/default/manage_episodeStatuses.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Manage episodes with status <select name="whichStatus">
<input type="hidden" id="oldStatus" name="oldStatus" value="$whichStatus" />
<input type="hidden" id="opt_includeSpecials" name="opt_includeSpecials" value="$includeSpecials" />
<input type="hidden" id="opt_excludeNoAirdate" name="opt_excludeNoAirdate" value="$excludeNoAirdate" />
#if $whichStatus in ($common.SNATCHED, $common.ARCHIVED, $common.IGNORED):
#if $whichStatus in ($common.UNKNOWN, $common.SNATCHED, $common.ARCHIVED, $common.IGNORED):
#set $row_class = "good"
#else
#set $row_class = $common.Overview.overviewStrings[$whichStatus]
Expand Down
4 changes: 2 additions & 2 deletions sickbeard/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -429,13 +429,13 @@ def _migrate_v1(self):
"""

sickbeard.NAMING_PATTERN = self._name_to_pattern()
logger.log("Based on your old settings I'm setting your new naming pattern to: " + sickbeard.NAMING_PATTERN)
logger.log(u"Based on your old settings I'm setting your new naming pattern to: " + sickbeard.NAMING_PATTERN)

sickbeard.NAMING_CUSTOM_ABD = bool(check_setting_int(self.config_obj, 'General', 'naming_dates', 0))

if sickbeard.NAMING_CUSTOM_ABD:
sickbeard.NAMING_ABD_PATTERN = self._name_to_pattern(True)
logger.log("Adding a custom air-by-date naming pattern to your config: " + sickbeard.NAMING_ABD_PATTERN)
logger.log(u"Adding a custom air-by-date naming pattern to your config: " + sickbeard.NAMING_ABD_PATTERN)
else:
sickbeard.NAMING_ABD_PATTERN = naming.name_abd_presets[0]

Expand Down
6 changes: 3 additions & 3 deletions sickbeard/databases/mainDB.py
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,7 @@ def execute(self):
self.incDBVersion()


# included in build 507 (2014-0#-##)
# included in build 507 (2014-11-16)
class CleanupHistoryAndSpecials(AddRequireAndIgnoreWords):
""" Cleanup older history entries and set specials from wanted to skipped """

Expand Down Expand Up @@ -560,7 +560,7 @@ def execute(self):
self.connection.action("VACUUM")


# included in build 507 (2014-0#-##)
# included in build 507 (2014-11-16)
class AddSkipNotifications(CleanupHistoryAndSpecials):
""" Adding column skip_notices to tv_shows """

Expand All @@ -577,7 +577,7 @@ def execute(self):
self.incDBVersion()


# included in build 507 (2014-0#-##)
# included in build 507 (2014-11-16)
class AddHistorySource(AddSkipNotifications):
""" Adding column source to history """

Expand Down
59 changes: 33 additions & 26 deletions sickbeard/naming.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,14 @@
'%Y/%0M/%S.N.%A.D.%E.N-%RG'
)


class TVShow():
def __init__(self):
self.name = "Show Name"
self.genre = "Comedy"
self.air_by_date = 0


class TVEpisode(tv.TVEpisode):
def __init__(self, season, episode, name):
self.relatedEps = []
Expand All @@ -57,51 +59,54 @@ def __init__(self, season, episode, name):
self._status = Quality.compositeStatus(common.DOWNLOADED, common.Quality.SDTV)
self._release_name = 'Show.Name.S02E03.HDTV.XviD-RLSGROUP'


def check_force_season_folders(pattern=None, multi=None):
"""
Checks if the name can still be parsed if you strip off the folders to determine if we need to force season folders
to be enabled or not.
Returns true if season folders need to be forced on or false otherwise.
"""
if pattern == None:
if pattern is None:
pattern = sickbeard.NAMING_PATTERN
valid = not validate_name(pattern, None, file_only=True)
if multi != None:

valid = not validate_name(pattern, None, file_only=True)

if multi is not None:
valid = valid or not validate_name(pattern, multi, file_only=True)

return valid


def check_valid_naming(pattern=None, multi=None):
"""
Checks if the name is can be parsed back to its original form for both single and multi episodes.
Returns true if the naming is valid, false if not.
"""
if pattern == None:
if pattern is None:
pattern = sickbeard.NAMING_PATTERN
logger.log(u"Checking whether the pattern "+pattern+" is valid for a single episode", logger.DEBUG)

logger.log(u"Checking whether the pattern " + pattern + " is valid for a single episode", logger.DEBUG)
valid = validate_name(pattern, None)

if multi != None:
logger.log(u"Checking whether the pattern "+pattern+" is valid for a multi episode", logger.DEBUG)
if multi is not None:
logger.log(u"Checking whether the pattern " + pattern + " is valid for a multi episode", logger.DEBUG)
valid = valid and validate_name(pattern, multi)

return valid


def check_valid_abd_naming(pattern=None):
"""
Checks if the name is can be parsed back to its original form for an air-by-date format.
Returns true if the naming is valid, false if not.
"""
if pattern == None:
if pattern is None:
pattern = sickbeard.NAMING_PATTERN
logger.log(u"Checking whether the pattern "+pattern+" is valid for an air-by-date episode", logger.DEBUG)

logger.log(u"Checking whether the pattern " + pattern + " is valid for an air-by-date episode", logger.DEBUG)
valid = validate_name(pattern, abd=True)

return valid
Expand All @@ -118,18 +123,18 @@ def validate_name(pattern, multi=None, file_only=False, abd=False):
new_name = ek.ek(os.path.join, new_path, new_name)

if not new_name:
logger.log(u"Unable to create a name out of "+pattern, logger.DEBUG)
logger.log(u"Unable to create a name out of " + pattern, logger.DEBUG)
return False

logger.log(u"Trying to parse "+new_name, logger.DEBUG)
logger.log(u"Trying to parse " + new_name, logger.DEBUG)

try:
result = parser.parse(new_name)
except InvalidNameException:
logger.log(u"Unable to parse "+new_name+", not valid", logger.DEBUG)
logger.log(u"Unable to parse " + new_name + ", not valid", logger.DEBUG)
return False
logger.log("The name "+new_name + " parsed into " + str(result), logger.DEBUG)

logger.log(u"The name " + new_name + " parsed into " + str(result), logger.DEBUG)

if abd:
if result.air_date != ep.airdate:
Expand All @@ -145,25 +150,26 @@ def validate_name(pattern, multi=None, file_only=False, abd=False):

return True


def _generate_sample_ep(multi=None, abd=False):
# make a fake episode object
ep = TVEpisode(2,3,"Ep Name")
ep = TVEpisode(2, 3, "Ep Name")
ep._status = Quality.compositeStatus(DOWNLOADED, Quality.HDTV)
ep._airdate = datetime.date(2011, 3, 9)
if abd:
ep._release_name = 'Show.Name.2011.03.09.HDTV.XviD-RLSGROUP'
else:
ep._release_name = 'Show.Name.S02E03.HDTV.XviD-RLSGROUP'

if multi != None:
if multi is not None:
ep._name = "Ep Name (1)"
ep._release_name = 'Show.Name.S02E03E04E05.HDTV.XviD-RLSGROUP'

secondEp = TVEpisode(2,4,"Ep Name (2)")
secondEp = TVEpisode(2, 4, "Ep Name (2)")
secondEp._status = Quality.compositeStatus(DOWNLOADED, Quality.HDTV)
secondEp._release_name = ep._release_name

thirdEp = TVEpisode(2,5,"Ep Name (3)")
thirdEp = TVEpisode(2, 5, "Ep Name (3)")
thirdEp._status = Quality.compositeStatus(DOWNLOADED, Quality.HDTV)
thirdEp._release_name = ep._release_name

Expand All @@ -172,8 +178,9 @@ def _generate_sample_ep(multi=None, abd=False):

return ep


def test_name(pattern, multi=None, abd=False):

ep = _generate_sample_ep(multi, abd)

return {'name': ep.formatted_filename(pattern, multi), 'dir': ep.formatted_dir(pattern, multi)}
return {'name': ep.formatted_filename(pattern, multi), 'dir': ep.formatted_dir(pattern, multi)}
2 changes: 1 addition & 1 deletion sickbeard/notifiers/pushalot.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def _notify(self, title, message, authtoken=None, silent=None, important=None, f
if not silent:
silent = bool(sickbeard.PUSHALOT_SILENT)

logger.log("PUSHALOT: Sending notice with details: title=\"%s\", message=\"%s\", silent=%s, important=%s, authtoken=%s" % (title, message, silent, important, authtoken), logger.DEBUG)
logger.log(u"PUSHALOT: Sending notice with details: title=\"%s\", message=\"%s\", silent=%s, important=%s, authtoken=%s" % (title, message, silent, important, authtoken), logger.DEBUG)

try:

Expand Down
2 changes: 1 addition & 1 deletion sickbeard/nzbget.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def sendNZB(nzb):

url = urlparse.urlunsplit((scheme, netloc, u"/xmlrpc", "", ""))

logger.log(u"Sending NZB to NZBGet")
logger.log(u"Sending NZB to NZBGet: %s" % nzb.name)
logger.log(u"NZBGet URL: " + url, logger.DEBUG)

nzbGetRPC = xmlrpclib.ServerProxy(url.encode("utf-8", 'ignore'))
Expand Down
Loading

0 comments on commit 31ceaf1

Please sign in to comment.