1
0
mirror of https://github.com/moparisthebest/SickRage synced 2024-08-13 16:53:54 -04:00

Send notifications to all enabled notifiers upon SickRage update.

This commit is contained in:
Mark Rawson 2014-07-03 07:43:48 +01:00
parent 36e12a5d4d
commit 6aa149752b
22 changed files with 149 additions and 6 deletions

View File

@ -50,11 +50,15 @@ SEASON_RESULT = -2
NOTIFY_SNATCH = 1 NOTIFY_SNATCH = 1
NOTIFY_DOWNLOAD = 2 NOTIFY_DOWNLOAD = 2
NOTIFY_SUBTITLE_DOWNLOAD = 3 NOTIFY_SUBTITLE_DOWNLOAD = 3
NOTIFY_SICKRAGE_UPDATE = 4
NOTIFY_SICKRAGE_UPDATE_TEXT = 5
notifyStrings = {} notifyStrings = {}
notifyStrings[NOTIFY_SNATCH] = "Started Download" notifyStrings[NOTIFY_SNATCH] = "Started Download"
notifyStrings[NOTIFY_DOWNLOAD] = "Download Finished" notifyStrings[NOTIFY_DOWNLOAD] = "Download Finished"
notifyStrings[NOTIFY_SUBTITLE_DOWNLOAD] = "Subtitle Download Finished" notifyStrings[NOTIFY_SUBTITLE_DOWNLOAD] = "Subtitle Download Finished"
notifyStrings[NOTIFY_SICKRAGE_UPDATE] = "SickRage Updated"
notifyStrings[NOTIFY_SICKRAGE_UPDATE_TEXT] = "SickRage updated to version: "
### Episode statuses ### Episode statuses
UNKNOWN = -1 # should never happen UNKNOWN = -1 # should never happen

View File

@ -101,3 +101,7 @@ def notify_subtitle_download(ep_name, lang):
def notify_snatch(ep_name): def notify_snatch(ep_name):
for n in notifiers: for n in notifiers:
n.notify_snatch(ep_name) n.notify_snatch(ep_name)
def notify_sickrage_update(new_version = ""):
for n in notifiers:
n.notify_sickrage_update(new_version)

View File

@ -23,7 +23,7 @@ import time
import sickbeard import sickbeard
from sickbeard import logger from sickbeard import logger
from sickbeard.common import notifyStrings, NOTIFY_SNATCH, NOTIFY_DOWNLOAD, NOTIFY_SUBTITLE_DOWNLOAD from sickbeard.common import notifyStrings, NOTIFY_SNATCH, NOTIFY_DOWNLOAD, NOTIFY_SUBTITLE_DOWNLOAD, NOTIFY_SICKRAGE_UPDATE, NOTIFY_SICKRAGE_UPDATE_TEXT
from sickbeard.exceptions import ex from sickbeard.exceptions import ex
API_URL = "https://boxcar.io/devices/providers/fWc4sgSmpcN6JujtBmR6/notifications" API_URL = "https://boxcar.io/devices/providers/fWc4sgSmpcN6JujtBmR6/notifications"
@ -123,6 +123,12 @@ class BoxcarNotifier:
if sickbeard.BOXCAR_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.BOXCAR_NOTIFY_ONSUBTITLEDOWNLOAD:
self._notifyBoxcar(title, ep_name + ": " + lang) self._notifyBoxcar(title, ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_BOXCAR:
update_text=notifyStrings[NOTIFY_SICKRAGE_UPDATE_TEXT]
title=notifyStrings[NOTIFY_SICKRAGE_UPDATE]
self._notifyBoxcar(title, update_text + new_version)
def _notifyBoxcar(self, title, message, username=None, force=False): def _notifyBoxcar(self, title, message, username=None, force=False):
""" """
Sends a boxcar notification based on the provided info or SB config Sends a boxcar notification based on the provided info or SB config

View File

@ -24,7 +24,7 @@ import time
import sickbeard import sickbeard
from sickbeard import logger from sickbeard import logger
from sickbeard.common import notifyStrings, NOTIFY_SNATCH, NOTIFY_DOWNLOAD, NOTIFY_SUBTITLE_DOWNLOAD from sickbeard.common import notifyStrings, NOTIFY_SNATCH, NOTIFY_DOWNLOAD, NOTIFY_SUBTITLE_DOWNLOAD, NOTIFY_SICKRAGE_UPDATE, NOTIFY_SICKRAGE_UPDATE_TEXT
from sickbeard.exceptions import ex from sickbeard.exceptions import ex
API_URL = "https://new.boxcar.io/api/notifications" API_URL = "https://new.boxcar.io/api/notifications"
@ -97,6 +97,12 @@ class Boxcar2Notifier:
if sickbeard.BOXCAR2_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.BOXCAR2_NOTIFY_ONSUBTITLEDOWNLOAD:
self._notifyBoxcar2(title, ep_name + ": " + lang) self._notifyBoxcar2(title, ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_BOXCAR2:
update_text=notifyStrings[NOTIFY_SICKRAGE_UPDATE_TEXT]
title=notifyStrings[NOTIFY_SICKRAGE_UPDATE]
self._notifyBoxcar2(title, update_text + new_version)
def _notifyBoxcar2(self, title, message, accesstoken=None): def _notifyBoxcar2(self, title, message, accesstoken=None):
""" """
Sends a boxcar2 notification based on the provided info or SB config Sends a boxcar2 notification based on the provided info or SB config

View File

@ -27,7 +27,7 @@ import re
import sickbeard import sickbeard
from sickbeard import logger from sickbeard import logger, common
from sickbeard import db from sickbeard import db
from sickbeard.exceptions import ex from sickbeard.exceptions import ex
@ -142,6 +142,37 @@ class EmailNotifier:
else: else:
logger.log("Download notification ERROR: %s" % self.last_err, logger.ERROR) logger.log("Download notification ERROR: %s" % self.last_err, logger.ERROR)
def notify_sickrage_update(self, new_version = "??"):
"""
Send a notification that an updated version of SickRage has been installed
"""
if sickbeard.USE_EMAIL:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
to = self._generate_recepients(show)
if len(to) == 0:
logger.log('Skipping email notify because there are no configured recepients', logger.WARNING)
else:
try:
msg = MIMEMultipart('alternative')
msg.attach(MIMEText(
"<body style='font-family:Helvetica, Arial, sans-serif;'><h3>SickRage Notification - " + title + "</h3>\n<p>" + update_text + new_version + "</p>\n\n<footer style='margin-top: 2.5em; padding: .7em 0; color: #777; border-top: #BBB solid 1px;'>Powered by SickRage.</footer></body>",
'html'))
except:
logger.log("SickRage update notification ERROR: %s" % self.last_err, logger.ERROR)
msg['Subject'] = lang + ' Subtitle Downloaded: ' + ep_name
msg['From'] = sickbeard.EMAIL_FROM
msg['To'] = ','.join(to)
if self._sendmail(sickbeard.EMAIL_HOST, sickbeard.EMAIL_PORT, sickbeard.EMAIL_FROM, sickbeard.EMAIL_TLS,
sickbeard.EMAIL_USER, sickbeard.EMAIL_PASSWORD, to, msg):
logger.log("Download notification sent to [%s] for '%s'" % (to, ep_name), logger.DEBUG)
else:
logger.log("Download notification ERROR: %s" % self.last_err, logger.ERROR)
def _generate_recepients(self, show): def _generate_recepients(self, show):
addrs = [] addrs = []

View File

@ -44,6 +44,12 @@ class GrowlNotifier:
if sickbeard.GROWL_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.GROWL_NOTIFY_ONSUBTITLEDOWNLOAD:
self._sendGrowl(common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], ep_name + ": " + lang) self._sendGrowl(common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_GROWL:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._sendGrowl(title, update_text + new_version)
def _send_growl(self, options, message=None): def _send_growl(self, options, message=None):
#Send Notification #Send Notification

View File

@ -93,6 +93,11 @@ class LibnotifyNotifier:
if sickbeard.LIBNOTIFY_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.LIBNOTIFY_NOTIFY_ONSUBTITLEDOWNLOAD:
self._notify(common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], ep_name + ": " + lang) self._notify(common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_LIBNOTIFY:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT], title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._notify(title, update_text + new_version)
def test_notify(self): def test_notify(self):
return self._notify('Test notification', "This is a test notification from SickRage", force=True) return self._notify('Test notification', "This is a test notification from SickRage", force=True)

View File

@ -24,6 +24,12 @@ class NMA_Notifier:
self._sendNMA(nma_api=None, nma_priority=None, event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], self._sendNMA(nma_api=None, nma_priority=None, event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD],
message=ep_name + ": " + lang) message=ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_NMA:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._sendNMA(nma_api=None, nma_priority=None, event=title, message=update_text + new_version)
def _sendNMA(self, nma_api=None, nma_priority=None, event=None, message=None, force=False): def _sendNMA(self, nma_api=None, nma_priority=None, event=None, message=None, force=False):
title = 'SickRage' title = 'SickRage'

View File

@ -97,6 +97,10 @@ class NMJNotifier:
if sickbeard.USE_NMJ: if sickbeard.USE_NMJ:
self._notifyNMJ() self._notifyNMJ()
def notify_sickrage_update(self, new_version):
return False
# Not implemented, no reason to start scanner.
def test_notify(self, host, database, mount): def test_notify(self, host, database, mount):
return self._sendNMJ(host, database, mount) return self._sendNMJ(host, database, mount)

View File

@ -43,6 +43,10 @@ class NMJv2Notifier:
def notify_subtitle_download(self, ep_name, lang): def notify_subtitle_download(self, ep_name, lang):
self._notifyNMJ() self._notifyNMJ()
def notify_sickrage_update(self, new_version):
return False
# Not implemented, no reason to start scanner.
def test_notify(self, host): def test_notify(self, host):
return self._sendNMJ(host) return self._sendNMJ(host)

View File

@ -66,6 +66,12 @@ class PLEXNotifier(XBMCNotifier):
if sickbeard.PLEX_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.PLEX_NOTIFY_ONSUBTITLEDOWNLOAD:
self._notify_pmc(ep_name + ": " + lang, common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD]) self._notify_pmc(ep_name + ": " + lang, common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD])
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_PLEX:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._notify_pmc(update_text + new_version, title)
def test_notify(self, host, username, password): def test_notify(self, host, username, password):
return self._notify_pmc("Testing Plex notifications from SickRage", "Test Notification", host, username, return self._notify_pmc("Testing Plex notifications from SickRage", "Test Notification", host, username,
password, force=True) password, force=True)

View File

@ -52,6 +52,13 @@ class ProwlNotifier:
self._sendProwl(prowl_api=None, prowl_priority=None, self._sendProwl(prowl_api=None, prowl_priority=None,
event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], message=ep_name + ": " + lang) event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], message=ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_PROWL:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._sendProwl(prowl_api=None, prowl_priority=None,
event=title, message=update_text + new_version)
def _sendProwl(self, prowl_api=None, prowl_priority=None, event=None, message=None, force=False): def _sendProwl(self, prowl_api=None, prowl_priority=None, event=None, message=None, force=False):
if not sickbeard.USE_PROWL and not force: if not sickbeard.USE_PROWL and not force:

View File

@ -46,6 +46,14 @@ class PushalotNotifier:
event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD], event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD],
message=ep_name + ": " + lang) message=ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_PUSHALOT:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._sendPushalot(pushalot_authorizationtoken=None,
event=title,
message=update_text + new_version)
def _sendPushalot(self, pushalot_authorizationtoken=None, event=None, message=None, force=False): def _sendPushalot(self, pushalot_authorizationtoken=None, event=None, message=None, force=False):
if not sickbeard.USE_PUSHALOT and not force: if not sickbeard.USE_PUSHALOT and not force:

View File

@ -49,6 +49,12 @@ class PushbulletNotifier:
self._sendPushbullet(pushbullet_api=None, event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD] + " : " + ep_name + " : " + lang, self._sendPushbullet(pushbullet_api=None, event=common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD] + " : " + ep_name + " : " + lang,
message=ep_name + ": " + lang, notificationType="note", method="POST") message=ep_name + ": " + lang, notificationType="note", method="POST")
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_PUSHBULLET:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._sendPushbullet(pushbullet_api=None, event=title, message=update_text + new_version, method="POST")
def _sendPushbullet(self, pushbullet_api=None, pushbullet_device=None, event=None, message=None, def _sendPushbullet(self, pushbullet_api=None, pushbullet_device=None, event=None, message=None,
notificationType=None, method=None, force=False): notificationType=None, method=None, force=False):

View File

@ -23,7 +23,7 @@ import time
import sickbeard import sickbeard
from sickbeard import logger from sickbeard import logger
from sickbeard.common import notifyStrings, NOTIFY_SNATCH, NOTIFY_DOWNLOAD, NOTIFY_SUBTITLE_DOWNLOAD from sickbeard.common import notifyStrings, NOTIFY_SNATCH, NOTIFY_DOWNLOAD, NOTIFY_SUBTITLE_DOWNLOAD, NOTIFY_SICKRAGE_UPDATE, NOTIFY_SICKRAGE_UPDATE_TEXT
from sickbeard.exceptions import ex from sickbeard.exceptions import ex
API_URL = "https://api.pushover.net/1/messages.json" API_URL = "https://api.pushover.net/1/messages.json"
@ -120,6 +120,12 @@ class PushoverNotifier:
if sickbeard.PUSHOVER_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.PUSHOVER_NOTIFY_ONSUBTITLEDOWNLOAD:
self._notifyPushover(title, ep_name + ": " + lang) self._notifyPushover(title, ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_PUSHOVER:
update_text=notifyStrings[NOTIFY_SICKRAGE_UPDATE_TEXT]
title=notifyStrings[NOTIFY_SICKRAGE_UPDATE]
self._notifyPushover(title, update_text + new_version)
def _notifyPushover(self, title, message, userKey=None, apiKey=None, force=False): def _notifyPushover(self, title, message, userKey=None, apiKey=None, force=False):
""" """
Sends a pushover notification based on the provided info or SB config Sends a pushover notification based on the provided info or SB config

View File

@ -37,6 +37,9 @@ class pyTivoNotifier:
def notify_subtitle_download(self, ep_name, lang): def notify_subtitle_download(self, ep_name, lang):
pass pass
def notify_sickrage_update(self, new_version):
pass
def update_library(self, ep_obj): def update_library(self, ep_obj):
# Values from config # Values from config

View File

@ -38,6 +38,9 @@ class synoIndexNotifier:
def notify_subtitle_download(self, ep_name, lang): def notify_subtitle_download(self, ep_name, lang):
pass pass
def notify_sickrage_update(self, new_version):
pass
def moveFolder(self, old_path, new_path): def moveFolder(self, old_path, new_path):
self.moveObject(old_path, new_path) self.moveObject(old_path, new_path)

View File

@ -41,6 +41,12 @@ class synologyNotifier:
if sickbeard.SYNOLOGYNOTIFIER_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.SYNOLOGYNOTIFIER_NOTIFY_ONSUBTITLEDOWNLOAD:
self._send_synologyNotifier(ep_name + ": " + lang, common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD]) self._send_synologyNotifier(ep_name + ": " + lang, common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD])
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_SYNOLOGYNOTIFIER:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._send_synologyNotifier(update_text + new_version, title)
def _send_synologyNotifier(self, message, title): def _send_synologyNotifier(self, message, title):
synodsmnotify_cmd = ["/usr/syno/bin/synodsmnotify", "@administrators", title, message] synodsmnotify_cmd = ["/usr/syno/bin/synodsmnotify", "@administrators", title, message]
logger.log(u"Executing command " + str(synodsmnotify_cmd)) logger.log(u"Executing command " + str(synodsmnotify_cmd))

View File

@ -35,6 +35,9 @@ class TraktNotifier:
def notify_subtitle_download(self, ep_name, lang): def notify_subtitle_download(self, ep_name, lang):
pass pass
def notify_sickrage_update(self, new_version):
pass
def update_library(self, ep_obj): def update_library(self, ep_obj):
""" """
Sends a request to trakt indicating that the given episode is part of our library. Sends a request to trakt indicating that the given episode is part of our library.

View File

@ -52,6 +52,12 @@ class TwitterNotifier:
if sickbeard.TWITTER_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.TWITTER_NOTIFY_ONSUBTITLEDOWNLOAD:
self._notifyTwitter(common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD] + ' ' + ep_name + ": " + lang) self._notifyTwitter(common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD] + ' ' + ep_name + ": " + lang)
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_TWITTER:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._notifyTwitter(title + " - " + update_text + new_version)
def test_notify(self): def test_notify(self):
return self._notifyTwitter("This is a test notification from SickRage", force=True) return self._notifyTwitter("This is a test notification from SickRage", force=True)

View File

@ -513,6 +513,12 @@ class XBMCNotifier:
if sickbeard.XBMC_NOTIFY_ONSUBTITLEDOWNLOAD: if sickbeard.XBMC_NOTIFY_ONSUBTITLEDOWNLOAD:
self._notify_xbmc(ep_name + ": " + lang, common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD]) self._notify_xbmc(ep_name + ": " + lang, common.notifyStrings[common.NOTIFY_SUBTITLE_DOWNLOAD])
def notify_sickrage_update(self, new_version = "??"):
if sickbeard.USE_XBMC:
update_text=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE_TEXT]
title=common.notifyStrings[common.NOTIFY_SICKRAGE_UPDATE]
self._notify_xbmc(update_text + new_version, title)
def test_notify(self, host, username, password): def test_notify(self, host, username, password):
return self._notify_xbmc("Testing XBMC notifications from SickRage", "Test Notification", host, username, return self._notify_xbmc("Testing XBMC notifications from SickRage", "Test Notification", host, username,
password, force=True) password, force=True)

View File

@ -30,7 +30,7 @@ import gh_api as github
import threading import threading
import sickbeard import sickbeard
from sickbeard import helpers from sickbeard import helpers, notifiers
from sickbeard import version, ui from sickbeard import version, ui
from sickbeard import logger from sickbeard import logger
from sickbeard.exceptions import ex from sickbeard.exceptions import ex
@ -261,6 +261,9 @@ class WindowsUpdateManager(UpdateManager):
logger.log(u"Copying new update.exe file from " + old_update_path + " to " + new_update_path) logger.log(u"Copying new update.exe file from " + old_update_path + " to " + new_update_path)
shutil.move(old_update_path, new_update_path) shutil.move(old_update_path, new_update_path)
# Notify update successful
notifiers.notify_sickrage_update(sickbeard.NEWEST_VERSION_STRING)
except Exception, e: except Exception, e:
logger.log(u"Error while trying to update: " + ex(e), logger.ERROR) logger.log(u"Error while trying to update: " + ex(e), logger.ERROR)
return False return False
@ -412,7 +415,6 @@ class GitUpdateManager(UpdateManager):
commit hash. If there is a newer version it sets _num_commits_behind. commit hash. If there is a newer version it sets _num_commits_behind.
""" """
self._newest_commit_hash = None
self._num_commits_behind = 0 self._num_commits_behind = 0
self._num_commits_ahead = 0 self._num_commits_ahead = 0
@ -510,6 +512,8 @@ class GitUpdateManager(UpdateManager):
output, err, exit_status = self._run_git(self._git_path, 'pull origin ' + self.branch) # @UnusedVariable output, err, exit_status = self._run_git(self._git_path, 'pull origin ' + self.branch) # @UnusedVariable
if exit_status == 0: if exit_status == 0:
# Notify update successful
notifiers.notify_sickrage_update(self._newest_commit_hash[:10])
return True return True
return False return False
@ -715,4 +719,7 @@ class SourceUpdateManager(UpdateManager):
logger.log(u"Traceback: " + traceback.format_exc(), logger.DEBUG) logger.log(u"Traceback: " + traceback.format_exc(), logger.DEBUG)
return False return False
# Notify update successful
notifiers.notify_sickrage_update(sickbeard.NEWEST_VERSION_STRING)
return True return True