mirror of
https://github.com/SickGear/SickGear.git
synced 2024-11-30 16:33:37 +00:00
Fix utf8 in folders for SickGear-NG.py post processing script, script version bumped 1.5 to 1.6.
Remove NMA notifier.
This commit is contained in:
parent
0dce254473
commit
a9500e01d5
13 changed files with 28 additions and 344 deletions
10
CHANGES.md
10
CHANGES.md
|
@ -1,4 +1,12 @@
|
|||
### 0.16.9 (2018-05-17 15:30:00 UTC)
|
||||
### 0.16.10 (2018-05-21 23:30:00 UTC)
|
||||
|
||||
* Fix importing TV shows with utf8 characters in parent folders on Windows
|
||||
* Fix utf8 in folders for SickGear-NG.py post processing script, script version bumped 1.5 to 1.6
|
||||
* Fix incorrect logic mixing seasons
|
||||
* Remove NMA notifier
|
||||
|
||||
|
||||
### 0.16.9 (2018-05-17 15:30:00 UTC)
|
||||
|
||||
* Fix authorisation issue affecting some providers
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@ Libs with customisations...
|
|||
/lib/hachoir_parser/guess.py
|
||||
/lib/hachoir_parser/misc/torrent.py
|
||||
/lib/lockfile/mkdirlockfile.py
|
||||
/lib/pynma/pynma.py
|
||||
/lib/tmdb_api/tmdb_api.py
|
||||
/lib/tornado
|
||||
/lib/tvdb_api/tvdb_api.py
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
|
||||
# Send PostProcessing requests to SickGear
|
||||
#
|
||||
# PostProcessing-Script version: 1.5.
|
||||
# PostProcessing-Script version: 1.6.
|
||||
# <!--
|
||||
# For more info and updates please visit forum topic at
|
||||
# -->
|
||||
|
@ -157,7 +157,7 @@ import re
|
|||
import sys
|
||||
import warnings
|
||||
|
||||
__version__ = '1.5'
|
||||
__version__ = '1.6'
|
||||
|
||||
verbose = 0 or 'yes' == os.environ.get('NZBPO_SG_VERBOSE', 'no')
|
||||
|
||||
|
@ -294,9 +294,22 @@ class Ek:
|
|||
except UnicodeEncodeError:
|
||||
return x.encode(SYS_ENCODING, 'ignore')
|
||||
|
||||
@staticmethod
|
||||
def win_encode_unicode(x):
|
||||
if isinstance(x, str):
|
||||
try:
|
||||
return x.decode('UTF-8')
|
||||
except UnicodeDecodeError:
|
||||
return x
|
||||
return x
|
||||
|
||||
@staticmethod
|
||||
def ek(func, *args, **kwargs):
|
||||
if 'nt' == os.name:
|
||||
# convert all str parameter values to unicode
|
||||
args = tuple([x if not isinstance(x, str) else win_encode_unicode(x) for x in args])
|
||||
kwargs = {k: x if not isinstance(x, str) else win_encode_unicode(x) for k, x in
|
||||
kwargs.iteritems()}
|
||||
func_result = func(*args, **kwargs)
|
||||
else:
|
||||
func_result = func(*[Ek.encode_item(x) if type(x) == str else x for x in args], **kwargs)
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.7 KiB |
|
@ -852,7 +852,6 @@
|
|||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/pushover.png"><a href="#pushover" rel="noreferrer">Pushover</a></div>
|
||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/growl.png"><a href="#growl" rel="noreferrer">Growl</a></div>
|
||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/prowl.png"><a href="#prowl" rel="noreferrer">Prowl</a></div>
|
||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/nma.png"><a href="#nma" rel="noreferrer">NMA</a></div>
|
||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/libnotify.png"><a href="#libnotify" rel="noreferrer">Libnotify</a></div>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -1379,84 +1378,6 @@
|
|||
</div><!-- /prowl component-group //-->
|
||||
|
||||
|
||||
<div class="component-group">
|
||||
<div class="component-group-desc">
|
||||
<img class="notifier-icon" src="$sbRoot/images/notifiers/nma.png" alt="" title="NMA"/>
|
||||
<h3><a name="nma" href="<%= anon_url('https://www.notifymyandroid.com') %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;">Notify My Android</a></h3>
|
||||
<p>Notify My Android is a Prowl-like Android app and API that sends notifications from applications directly to Android devices.</p>
|
||||
</div>
|
||||
<fieldset class="component-group-list">
|
||||
<div class="field-pair">
|
||||
<label for="use-nma">
|
||||
<span class="component-title">Enable</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" class="enabler" name="use_nma" id="use-nma" #if $sickbeard.USE_NMA then 'checked="checked"' else ''#>
|
||||
<p>should SickGear send NMA notifications ?</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id="content_use-nma">
|
||||
<div class="field-pair">
|
||||
<label for="nma-notify-onsnatch">
|
||||
<span class="component-title">Notify on snatch</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="nma_notify_onsnatch" id="nma-notify-onsnatch" #if $sickbeard.NMA_NOTIFY_ONSNATCH then 'checked="checked"' else ''#>
|
||||
<p>send a notification when a download starts ?</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label for="nma-notify-ondownload">
|
||||
<span class="component-title">Notify on download</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="nma_notify_ondownload" id="nma-notify-ondownload" #if $sickbeard.NMA_NOTIFY_ONDOWNLOAD then 'checked="checked"' else ''#>
|
||||
<p>send a notification when a download finishes ?</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label for="nma-notify-onsubtitledownload">
|
||||
<span class="component-title">Notify on subtitle download</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="nma_notify_onsubtitledownload" id="nma-notify-onsubtitledownload" #if $sickbeard.NMA_NOTIFY_ONSUBTITLEDOWNLOAD then 'checked="checked"' else ''#>
|
||||
<p>send a notification when subtitles are downloaded ?</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label for="nma-api">
|
||||
<span class="component-title">NMA API key:</span>
|
||||
<span class="component-desc">
|
||||
<input type="text" name="nma_api" id="nma-api" value="<%= starify(sickbeard.NMA_API) %>" class="form-control input-sm input350">
|
||||
<div class="clear-left">(multiple keys must be seperated by commas, up to a maximum of 5)</div>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label for="nma-priority">
|
||||
<span class="component-title">NMA priority:</span>
|
||||
<span class="component-desc">
|
||||
<select id="nma-priority" name="nma_priority" class="form-control input-sm">
|
||||
<option value="-2" #if $sickbeard.NMA_PRIORITY == '-2' then 'selected="selected"' else ''#>Very Low</option>
|
||||
<option value="-1" #if $sickbeard.NMA_PRIORITY == '-1' then 'selected="selected"' else ''#>Moderate</option>
|
||||
<option value="0" #if $sickbeard.NMA_PRIORITY == '0' then 'selected="selected"' else ''#>Normal</option>
|
||||
<option value="1" #if $sickbeard.NMA_PRIORITY == '1' then 'selected="selected"' else ''#>High</option>
|
||||
<option value="2" #if $sickbeard.NMA_PRIORITY == '2' then 'selected="selected"' else ''#>Emergency</option>
|
||||
</select>
|
||||
<div class="clear-left">priority of NMA messages from SickGear</div>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="test-notification" id="test-nma-result">Click below to test</div>
|
||||
<input class="btn" type="button" value="Test NMA" id="test-nma">
|
||||
<input type="submit" class="config_submitter btn" value="Save Changes">
|
||||
</div><!-- /content_use-nma //-->
|
||||
|
||||
</fieldset>
|
||||
</div><!-- /nma component-group //-->
|
||||
|
||||
|
||||
<div class="component-group">
|
||||
<div class="component-group-desc">
|
||||
<img class="notifier-icon" src="$sbRoot/images/notifiers/libnotify.png" alt="" title="Libnotify">
|
||||
|
|
|
@ -409,25 +409,6 @@ $(document).ready(function(){
|
|||
});
|
||||
});
|
||||
|
||||
$('#test-nma').click(function () {
|
||||
var nmaApi = $.trim($('#nma-api').val());
|
||||
var nmaPriority = $('#nma-priority').val();
|
||||
if (!nmaApi) {
|
||||
$('#test-nma-result').html('Please fill out the necessary fields above.');
|
||||
$('#nma-api').addClass('warning');
|
||||
return;
|
||||
}
|
||||
$('#nma-api').removeClass('warning');
|
||||
$(this).prop('disabled', !0);
|
||||
$('#test-nma-result').html(loading);
|
||||
$.get(sbRoot + '/home/test_nma',
|
||||
{nma_api: nmaApi, nma_priority: nmaPriority})
|
||||
.done(function (data) {
|
||||
$('#test-nma-result').html(data);
|
||||
$('#test-nma').prop('disabled', !1);
|
||||
});
|
||||
});
|
||||
|
||||
$('#test-pushalot').click(function () {
|
||||
var pushalotAuthorizationtoken = $.trim($('#pushalot-authorizationtoken').val());
|
||||
if (!pushalotAuthorizationtoken) {
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
__version__ = '1.01'
|
||||
|
||||
from .pynma import PyNMA
|
|
@ -1,151 +0,0 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
from . import __version__
|
||||
from xml.dom.minidom import parseString
|
||||
|
||||
import requests
|
||||
|
||||
|
||||
class PyNMA(object):
|
||||
"""
|
||||
http://www.notifymyandroid.com/api.jsp
|
||||
PyNMA(apikey=None, developerkey=None)
|
||||
takes 2 optional arguments:
|
||||
- (opt) apykey: a string containing 1 key or an array of keys
|
||||
- (opt) developerkey: where you can store your developer key
|
||||
"""
|
||||
|
||||
def __init__(self, apikey=None, developerkey=None):
|
||||
|
||||
self._developerkey = None
|
||||
self.developerkey(developerkey)
|
||||
|
||||
self.api_server = 'https://www.notifymyandroid.com'
|
||||
self.add_path = '/publicapi/notify'
|
||||
self.user_agent = 'PyNMA/v%s' % __version__
|
||||
|
||||
key = []
|
||||
if apikey:
|
||||
key = (apikey, [apikey])[str == type(apikey)]
|
||||
|
||||
self._apikey = self.uniq(key)
|
||||
|
||||
@staticmethod
|
||||
def uniq(seq):
|
||||
# Not order preserving
|
||||
return list({}.fromkeys(seq).keys())
|
||||
|
||||
def addkey(self, key):
|
||||
"""
|
||||
Add a key (register ?)
|
||||
"""
|
||||
if str == type(key):
|
||||
if key not in self._apikey:
|
||||
self._apikey.append(key)
|
||||
|
||||
elif list == type(key):
|
||||
for k in key:
|
||||
if k not in self._apikey:
|
||||
self._apikey.append(k)
|
||||
|
||||
def delkey(self, key):
|
||||
"""
|
||||
Removes a key (unregister ?)
|
||||
"""
|
||||
if str == type(key):
|
||||
if key in self._apikey:
|
||||
self._apikey.remove(key)
|
||||
|
||||
elif list == type(key):
|
||||
for k in key:
|
||||
if key in self._apikey:
|
||||
self._apikey.remove(k)
|
||||
|
||||
def developerkey(self, developerkey):
|
||||
"""
|
||||
Sets the developer key (and check it has the good length)
|
||||
"""
|
||||
if str == type(developerkey) and 48 == len(developerkey):
|
||||
self._developerkey = developerkey
|
||||
|
||||
def push(self, application='', event='', description='', url='', content_type=None, priority=0, batch_mode=False, html=False):
|
||||
"""
|
||||
Pushes a message on the registered API keys.
|
||||
takes 5 arguments:
|
||||
- (req) application: application name [256]
|
||||
- (req) event: event name [1000]
|
||||
- (req) description: description [10000]
|
||||
- (opt) url: url [512]
|
||||
- (opt) contenttype: Content Type (act: None (plain text) or text/html)
|
||||
- (opt) priority: from -2 (lowest) to 2 (highest) (def:0)
|
||||
- (opt) batch_mode: call API 5 by 5 (def:False)
|
||||
- (opt) html: shortcut for content_type=text/html
|
||||
|
||||
Warning: using batch_mode will return error only if all API keys are bad
|
||||
http://www.notifymyandroid.com/api.jsp
|
||||
"""
|
||||
datas = {'application': application[:256].encode('utf8'),
|
||||
'event': event[:1000].encode('utf8'),
|
||||
'description': description[:10000].encode('utf8'),
|
||||
'priority': priority}
|
||||
|
||||
if url:
|
||||
datas['url'] = url[:2000]
|
||||
|
||||
if self._developerkey:
|
||||
datas['developerkey'] = self._developerkey
|
||||
|
||||
if 'text/html' == content_type or True == html: # Currently only accepted content type
|
||||
datas['content-type'] = 'text/html'
|
||||
|
||||
results = {}
|
||||
|
||||
if not batch_mode:
|
||||
for key in self._apikey:
|
||||
datas['apikey'] = key
|
||||
res = self.callapi('POST', self.add_path, datas)
|
||||
results[key] = res
|
||||
else:
|
||||
datas['apikey'] = ','.join(self._apikey)
|
||||
res = self.callapi('POST', self.add_path, datas)
|
||||
results[datas['apikey']] = res
|
||||
|
||||
return results
|
||||
|
||||
def callapi(self, method, path, args):
|
||||
headers = {'User-Agent': self.user_agent}
|
||||
|
||||
if 'POST' == method:
|
||||
headers['Content-type'] = 'application/x-www-form-urlencoded'
|
||||
|
||||
try:
|
||||
resp = requests.post('%s:443%s' % (self.api_server, path), data=args, headers=headers).text
|
||||
res = self._parse_response(resp)
|
||||
except Exception as e:
|
||||
res = {'type': 'pynmaerror',
|
||||
'code': 600,
|
||||
'message': str(e)}
|
||||
pass
|
||||
|
||||
return res
|
||||
|
||||
@staticmethod
|
||||
def _parse_response(response):
|
||||
|
||||
root = parseString(response).firstChild
|
||||
|
||||
for elem in root.childNodes:
|
||||
if elem.TEXT_NODE == elem.nodeType:
|
||||
continue
|
||||
|
||||
if 'success' == elem.tagName:
|
||||
res = dict(list(elem.attributes.items()))
|
||||
res['message'] = ''
|
||||
res['type'] = elem.tagName
|
||||
return res
|
||||
|
||||
if 'error' == elem.tagName:
|
||||
res = dict(list(elem.attributes.items()))
|
||||
res['message'] = elem.firstChild.nodeValue
|
||||
res['type'] = elem.tagName
|
||||
return res
|
|
@ -391,13 +391,6 @@ PROWL_NOTIFY_ONSUBTITLEDOWNLOAD = False
|
|||
PROWL_API = None
|
||||
PROWL_PRIORITY = '0'
|
||||
|
||||
USE_NMA = False
|
||||
NMA_NOTIFY_ONSNATCH = False
|
||||
NMA_NOTIFY_ONDOWNLOAD = False
|
||||
NMA_NOTIFY_ONSUBTITLEDOWNLOAD = False
|
||||
NMA_API = None
|
||||
NMA_PRIORITY = '0'
|
||||
|
||||
USE_LIBNOTIFY = False
|
||||
LIBNOTIFY_NOTIFY_ONSNATCH = False
|
||||
LIBNOTIFY_NOTIFY_ONDOWNLOAD = False
|
||||
|
@ -671,7 +664,6 @@ def initialize(console_logging=True):
|
|||
PUSHOVER_USERKEY, PUSHOVER_APIKEY, PUSHOVER_PRIORITY, PUSHOVER_DEVICE, PUSHOVER_SOUND, \
|
||||
USE_BOXCAR2, BOXCAR2_NOTIFY_ONSNATCH, BOXCAR2_NOTIFY_ONDOWNLOAD, BOXCAR2_NOTIFY_ONSUBTITLEDOWNLOAD, \
|
||||
BOXCAR2_ACCESSTOKEN, BOXCAR2_SOUND, \
|
||||
USE_NMA, NMA_NOTIFY_ONSNATCH, NMA_NOTIFY_ONDOWNLOAD, NMA_NOTIFY_ONSUBTITLEDOWNLOAD, NMA_API, NMA_PRIORITY, \
|
||||
USE_PUSHALOT, PUSHALOT_NOTIFY_ONSNATCH, PUSHALOT_NOTIFY_ONDOWNLOAD, \
|
||||
PUSHALOT_NOTIFY_ONSUBTITLEDOWNLOAD, PUSHALOT_AUTHORIZATIONTOKEN, \
|
||||
USE_PUSHBULLET, PUSHBULLET_NOTIFY_ONSNATCH, PUSHBULLET_NOTIFY_ONDOWNLOAD, \
|
||||
|
@ -700,7 +692,7 @@ def initialize(console_logging=True):
|
|||
for stanza in ('General', 'Blackhole', 'SABnzbd', 'NZBget', 'Emby', 'Kodi', 'XBMC', 'PLEX',
|
||||
'Growl', 'Prowl', 'Twitter', 'Slack', 'Discordapp', 'Boxcar2', 'NMJ', 'NMJv2',
|
||||
'Synology', 'SynologyNotifier',
|
||||
'pyTivo', 'NMA', 'Pushalot', 'Pushbullet', 'Subtitles'):
|
||||
'pyTivo', 'Pushalot', 'Pushbullet', 'Subtitles'):
|
||||
check_section(CFG, stanza)
|
||||
|
||||
update_config = False
|
||||
|
@ -1087,13 +1079,6 @@ def initialize(console_logging=True):
|
|||
PYTIVO_SHARE_NAME = check_setting_str(CFG, 'pyTivo', 'pytivo_share_name', '')
|
||||
PYTIVO_TIVO_NAME = check_setting_str(CFG, 'pyTivo', 'pytivo_tivo_name', '')
|
||||
|
||||
USE_NMA = bool(check_setting_int(CFG, 'NMA', 'use_nma', 0))
|
||||
NMA_NOTIFY_ONSNATCH = bool(check_setting_int(CFG, 'NMA', 'nma_notify_onsnatch', 0))
|
||||
NMA_NOTIFY_ONDOWNLOAD = bool(check_setting_int(CFG, 'NMA', 'nma_notify_ondownload', 0))
|
||||
NMA_NOTIFY_ONSUBTITLEDOWNLOAD = bool(check_setting_int(CFG, 'NMA', 'nma_notify_onsubtitledownload', 0))
|
||||
NMA_API = check_setting_str(CFG, 'NMA', 'nma_api', '')
|
||||
NMA_PRIORITY = check_setting_str(CFG, 'NMA', 'nma_priority', '0')
|
||||
|
||||
USE_PUSHALOT = bool(check_setting_int(CFG, 'Pushalot', 'use_pushalot', 0))
|
||||
PUSHALOT_NOTIFY_ONSNATCH = bool(check_setting_int(CFG, 'Pushalot', 'pushalot_notify_onsnatch', 0))
|
||||
PUSHALOT_NOTIFY_ONDOWNLOAD = bool(check_setting_int(CFG, 'Pushalot', 'pushalot_notify_ondownload', 0))
|
||||
|
@ -1905,14 +1890,6 @@ def save_config():
|
|||
new_config['Prowl']['prowl_api'] = PROWL_API
|
||||
new_config['Prowl']['prowl_priority'] = PROWL_PRIORITY
|
||||
|
||||
new_config['NMA'] = {}
|
||||
new_config['NMA']['use_nma'] = int(USE_NMA)
|
||||
new_config['NMA']['nma_notify_onsnatch'] = int(NMA_NOTIFY_ONSNATCH)
|
||||
new_config['NMA']['nma_notify_ondownload'] = int(NMA_NOTIFY_ONDOWNLOAD)
|
||||
new_config['NMA']['nma_notify_onsubtitledownload'] = int(NMA_NOTIFY_ONSUBTITLEDOWNLOAD)
|
||||
new_config['NMA']['nma_api'] = NMA_API
|
||||
new_config['NMA']['nma_priority'] = NMA_PRIORITY
|
||||
|
||||
new_config['Libnotify'] = {}
|
||||
new_config['Libnotify']['use_libnotify'] = int(USE_LIBNOTIFY)
|
||||
new_config['Libnotify']['libnotify_notify_onsnatch'] = int(LIBNOTIFY_NOTIFY_ONSNATCH)
|
||||
|
|
|
@ -25,6 +25,7 @@ import sickbeard
|
|||
# encodings. It tries to just use unicode, but if that fails then it tries forcing it to utf-8. Any functions
|
||||
# which return something should always return unicode.
|
||||
|
||||
|
||||
def fixStupidEncodings(x, silent=False):
|
||||
if type(x) == str:
|
||||
try:
|
||||
|
@ -41,7 +42,6 @@ def fixStupidEncodings(x, silent=False):
|
|||
return None
|
||||
|
||||
|
||||
|
||||
def fixListEncodings(x):
|
||||
if type(x) != list and type(x) != tuple:
|
||||
return x
|
||||
|
@ -78,8 +78,8 @@ def win_encode_unicode(x):
|
|||
def ek(func, *args, **kwargs):
|
||||
if os.name == 'nt':
|
||||
# convert all str parameter values to unicode
|
||||
args = tuple([win_encode_unicode(x) if isinstance(x, str) else x for x in args])
|
||||
kwargs = {k: win_encode_unicode(x) if isinstance(x, str) else x for k, x in
|
||||
args = tuple([x if not isinstance(x, str) else win_encode_unicode(x) for x in args])
|
||||
kwargs = {k: x if not isinstance(x, str) else win_encode_unicode(x) for k, x in
|
||||
kwargs.iteritems()}
|
||||
result = func(*args, **kwargs)
|
||||
else:
|
||||
|
|
|
@ -32,7 +32,6 @@ import pushbullet
|
|||
import pushover
|
||||
import growl
|
||||
import prowl
|
||||
import nma
|
||||
from . import libnotify
|
||||
|
||||
from lib import libtrakt
|
||||
|
@ -68,7 +67,6 @@ class NotifierFactory(object):
|
|||
PUSHOVER=pushover.PushoverNotifier,
|
||||
GROWL=growl.GrowlNotifier,
|
||||
PROWL=prowl.ProwlNotifier,
|
||||
NMA=nma.NMANotifier,
|
||||
LIBNOTIFY=libnotify.LibnotifyNotifier,
|
||||
|
||||
# social
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
import sickbeard
|
||||
from sickbeard.notifiers.generic import Notifier
|
||||
|
||||
from lib.pynma import pynma
|
||||
|
||||
|
||||
class NMANotifier(Notifier):
|
||||
|
||||
def _notify(self, title, body, nma_api=None, nma_priority=None, **kwargs):
|
||||
|
||||
nma_api = self._choose(nma_api, sickbeard.NMA_API)
|
||||
nma_priority = self._choose(nma_priority, sickbeard.NMA_PRIORITY)
|
||||
|
||||
batch = False
|
||||
|
||||
p = pynma.PyNMA()
|
||||
keys = nma_api.split(',')
|
||||
p.addkey(keys)
|
||||
|
||||
if 1 < len(keys):
|
||||
batch = True
|
||||
|
||||
self._log_debug('Sending notice with priority=%s, batch=%s' % (nma_priority, batch))
|
||||
response = p.push('SickGear', title, body, priority=nma_priority, batch_mode=batch)
|
||||
|
||||
result = False
|
||||
try:
|
||||
if u'200' != response[nma_api][u'code']:
|
||||
self._log_error('Notification failed')
|
||||
else:
|
||||
result = True
|
||||
except (StandardError, Exception):
|
||||
pass
|
||||
|
||||
return result
|
||||
|
||||
|
||||
notifier = NMANotifier
|
|
@ -1450,14 +1450,6 @@ class Home(MainHandler):
|
|||
|
||||
return notifiers.NotifierFactory().get('PROWL').test_notify(prowl_api, prowl_priority)
|
||||
|
||||
def test_nma(self, nma_api=None, nma_priority=0):
|
||||
self.set_header('Cache-Control', 'max-age=0,no-cache,no-store')
|
||||
|
||||
if None is not nma_api and starify(nma_api, True):
|
||||
nma_api = sickbeard.NMA_API
|
||||
|
||||
return notifiers.NotifierFactory().get('NMA').test_notify(nma_api, nma_priority)
|
||||
|
||||
def test_libnotify(self, *args, **kwargs):
|
||||
self.set_header('Cache-Control', 'max-age=0,no-cache,no-store')
|
||||
|
||||
|
@ -6587,8 +6579,6 @@ class ConfigNotifications(Config):
|
|||
growl_notify_onsubtitledownload=None, growl_host=None, growl_password=None,
|
||||
use_prowl=None, prowl_notify_onsnatch=None, prowl_notify_ondownload=None,
|
||||
prowl_notify_onsubtitledownload=None, prowl_api=None, prowl_priority=0,
|
||||
use_nma=None, nma_notify_onsnatch=None, nma_notify_ondownload=None,
|
||||
nma_notify_onsubtitledownload=None, nma_api=None, nma_priority=0,
|
||||
use_libnotify=None, libnotify_notify_onsnatch=None, libnotify_notify_ondownload=None,
|
||||
libnotify_notify_onsubtitledownload=None,
|
||||
# use_pushalot=None, pushalot_notify_onsnatch=None, pushalot_notify_ondownload=None,
|
||||
|
@ -6802,15 +6792,6 @@ class ConfigNotifications(Config):
|
|||
sickbeard.PYTIVO_SHARE_NAME = pytivo_share_name
|
||||
sickbeard.PYTIVO_TIVO_NAME = pytivo_tivo_name
|
||||
|
||||
sickbeard.USE_NMA = config.checkbox_to_value(use_nma)
|
||||
sickbeard.NMA_NOTIFY_ONSNATCH = config.checkbox_to_value(nma_notify_onsnatch)
|
||||
sickbeard.NMA_NOTIFY_ONDOWNLOAD = config.checkbox_to_value(nma_notify_ondownload)
|
||||
sickbeard.NMA_NOTIFY_ONSUBTITLEDOWNLOAD = config.checkbox_to_value(nma_notify_onsubtitledownload)
|
||||
key = nma_api.strip()
|
||||
if not starify(key, True):
|
||||
sickbeard.NMA_API = key
|
||||
sickbeard.NMA_PRIORITY = nma_priority
|
||||
|
||||
# sickbeard.USE_PUSHALOT = config.checkbox_to_value(use_pushalot)
|
||||
# sickbeard.PUSHALOT_NOTIFY_ONSNATCH = config.checkbox_to_value(pushalot_notify_onsnatch)
|
||||
# sickbeard.PUSHALOT_NOTIFY_ONDOWNLOAD = config.checkbox_to_value(pushalot_notify_ondownload)
|
||||
|
|
Loading…
Reference in a new issue