diff --git a/couchpotato/core/helpers/variable.py b/couchpotato/core/helpers/variable.py index 2578d2c2..dea01686 100644 --- a/couchpotato/core/helpers/variable.py +++ b/couchpotato/core/helpers/variable.py @@ -135,3 +135,5 @@ def getTitle(library_dict): def randomString(size = 8, chars = string.ascii_uppercase + string.digits): return ''.join(random.choice(chars) for x in range(size)) +def splitString(str, split_on = ','): + return [x.strip() for x in str.split(split_on)] diff --git a/couchpotato/core/notifications/core/main.py b/couchpotato/core/notifications/core/main.py index f965b92a..bc8bd860 100644 --- a/couchpotato/core/notifications/core/main.py +++ b/couchpotato/core/notifications/core/main.py @@ -3,7 +3,7 @@ from couchpotato.api import addApiView, addNonBlockApiView from couchpotato.core.event import addEvent from couchpotato.core.helpers.encoding import toUnicode from couchpotato.core.helpers.request import jsonified, getParam -from couchpotato.core.helpers.variable import tryInt +from couchpotato.core.helpers.variable import tryInt, splitString from couchpotato.core.logger import CPLog from couchpotato.core.notifications.base import Notification from couchpotato.core.settings.model import Notification as Notif @@ -67,7 +67,7 @@ class CoreNotifier(Notification): ids = None if getParam('ids'): - ids = [x.strip() for x in getParam('ids').split(',')] + ids = splitString(getParam('ids')) db = get_session() @@ -92,7 +92,7 @@ class CoreNotifier(Notification): q = db.query(Notif) if limit_offset: - splt = [x.strip() for x in limit_offset.split(',')] + splt = splitString(limit_offset) limit = splt[0] offset = 0 if len(splt) is 1 else splt[1] q = q.limit(limit).offset(offset) diff --git a/couchpotato/core/notifications/notifymyandroid/main.py b/couchpotato/core/notifications/notifymyandroid/main.py index 299d475c..cc6ef662 100644 --- a/couchpotato/core/notifications/notifymyandroid/main.py +++ b/couchpotato/core/notifications/notifymyandroid/main.py @@ -1,3 +1,4 @@ +from couchpotato.core.helpers.variable import splitString from couchpotato.core.logger import CPLog from couchpotato.core.notifications.base import Notification import pynma @@ -11,7 +12,7 @@ class NotifyMyAndroid(Notification): if self.isDisabled(): return nma = pynma.PyNMA() - keys = [x.strip() for x in self.conf('api_key').split(',')] + keys = splitString(self.conf('api_key')) nma.addkey(keys) nma.developerkey(self.conf('dev_key')) diff --git a/couchpotato/core/notifications/notifymywp/main.py b/couchpotato/core/notifications/notifymywp/main.py index fafffd55..3258e85f 100644 --- a/couchpotato/core/notifications/notifymywp/main.py +++ b/couchpotato/core/notifications/notifymywp/main.py @@ -1,3 +1,4 @@ +from couchpotato.core.helpers.variable import splitString from couchpotato.core.logger import CPLog from couchpotato.core.notifications.base import Notification from pynmwp import PyNMWP @@ -10,7 +11,7 @@ class NotifyMyWP(Notification): def notify(self, message = '', data = {}, listener = None): if self.isDisabled(): return - keys = [x.strip() for x in self.conf('api_key').split(',')] + keys = splitString(self.conf('api_key')) p = PyNMWP(keys, self.conf('dev_key')) response = p.push(application = self.default_title, event = message, description = message, priority = self.conf('priority'), batch_mode = len(keys) > 1) diff --git a/couchpotato/core/notifications/xbmc/main.py b/couchpotato/core/notifications/xbmc/main.py index f59de608..30759716 100644 --- a/couchpotato/core/notifications/xbmc/main.py +++ b/couchpotato/core/notifications/xbmc/main.py @@ -1,4 +1,5 @@ from couchpotato.core.helpers.encoding import tryUrlencode +from couchpotato.core.helpers.variable import splitString from couchpotato.core.logger import CPLog from couchpotato.core.notifications.base import Notification import base64 @@ -13,7 +14,7 @@ class XBMC(Notification): def notify(self, message = '', data = {}, listener = None): if self.isDisabled(): return - hosts = [x.strip() for x in self.conf('host').split(",")] + hosts = splitString(self.conf('host')) successful = 0 for host in hosts: if self.send({'command': 'ExecBuiltIn', 'parameter': 'Notification(CouchPotato, %s)' % message}, host): diff --git a/couchpotato/core/plugins/movie/main.py b/couchpotato/core/plugins/movie/main.py index cee17f40..821eea18 100644 --- a/couchpotato/core/plugins/movie/main.py +++ b/couchpotato/core/plugins/movie/main.py @@ -3,7 +3,7 @@ from couchpotato.api import addApiView from couchpotato.core.event import fireEvent, fireEventAsync, addEvent from couchpotato.core.helpers.encoding import toUnicode, simplifyString from couchpotato.core.helpers.request import getParams, jsonified, getParam -from couchpotato.core.helpers.variable import getImdb +from couchpotato.core.helpers.variable import getImdb, splitString from couchpotato.core.logger import CPLog from couchpotato.core.plugins.base import Plugin from couchpotato.core.settings.model import Library, LibraryTitle, Movie @@ -166,7 +166,7 @@ class MoviePlugin(Plugin): .options(joinedload_all('files')) if limit_offset: - splt = [x.strip() for x in limit_offset.split(',')] + splt = splitString(limit_offset) limit = splt[0] offset = 0 if len(splt) is 1 else splt[1] q2 = q2.limit(limit).offset(offset) @@ -244,7 +244,7 @@ class MoviePlugin(Plugin): db = get_session() - for id in getParam('id').split(','): + for id in splitString(getParam('id')): movie = db.query(Movie).filter_by(id = id).first() if movie: @@ -386,7 +386,7 @@ class MoviePlugin(Plugin): available_status = fireEvent('status.get', 'available', single = True) - ids = [x.strip() for x in params.get('id').split(',')] + ids = splitString(params.get('id')) for movie_id in ids: m = db.query(Movie).filter_by(id = movie_id).first() @@ -422,7 +422,7 @@ class MoviePlugin(Plugin): params = getParams() - ids = [x.strip() for x in params.get('id').split(',')] + ids = splitString(params.get('id')) for movie_id in ids: self.delete(movie_id, delete_from = params.get('delete_from', 'all')) diff --git a/couchpotato/core/plugins/subtitle/main.py b/couchpotato/core/plugins/subtitle/main.py index 3a66a8bc..fc0a3904 100644 --- a/couchpotato/core/plugins/subtitle/main.py +++ b/couchpotato/core/plugins/subtitle/main.py @@ -1,6 +1,7 @@ from couchpotato import get_session from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.helpers.encoding import toUnicode +from couchpotato.core.helpers.variable import splitString from couchpotato.core.logger import CPLog from couchpotato.core.plugins.base import Plugin from couchpotato.core.settings.model import Library, FileType @@ -67,4 +68,4 @@ class Subtitle(Plugin): return False def getLanguages(self): - return [x.strip() for x in self.conf('languages').split(',')] + return splitString(self.conf('languages')) diff --git a/couchpotato/core/providers/movie/imdbapi/main.py b/couchpotato/core/providers/movie/imdbapi/main.py index 0fd91bf0..5b421c9c 100644 --- a/couchpotato/core/providers/movie/imdbapi/main.py +++ b/couchpotato/core/providers/movie/imdbapi/main.py @@ -1,6 +1,6 @@ from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.helpers.encoding import tryUrlencode -from couchpotato.core.helpers.variable import tryInt, tryFloat +from couchpotato.core.helpers.variable import tryInt, tryFloat, splitString from couchpotato.core.logger import CPLog from couchpotato.core.providers.movie.base import MovieProvider import json @@ -97,10 +97,10 @@ class IMDBAPI(MovieProvider): 'released': movie.get('Released', ''), 'year': year if isinstance(year, (int)) else None, 'plot': movie.get('Plot', ''), - 'genres': movie.get('Genre', '').split(','), - 'directors': movie.get('Director', '').split(','), - 'writers': movie.get('Writer', '').split(','), - 'actors': movie.get('Actors', '').split(','), + 'genres': splitString(movie.get('Genre', '')), + 'directors': splitString(movie.get('Director', '')), + 'writers': splitString(movie.get('Writer', '')), + 'actors': splitString(movie.get('Actors', '')), } except: log.error('Failed parsing IMDB API json: %s', traceback.format_exc()) diff --git a/couchpotato/core/providers/nzb/newznab/main.py b/couchpotato/core/providers/nzb/newznab/main.py index 5485c63b..e86c79b2 100644 --- a/couchpotato/core/providers/nzb/newznab/main.py +++ b/couchpotato/core/providers/nzb/newznab/main.py @@ -1,7 +1,7 @@ from couchpotato.core.event import fireEvent from couchpotato.core.helpers.encoding import tryUrlencode from couchpotato.core.helpers.rss import RSS -from couchpotato.core.helpers.variable import cleanHost +from couchpotato.core.helpers.variable import cleanHost, splitString from couchpotato.core.logger import CPLog from couchpotato.core.providers.nzb.base import NZBProvider from couchpotato.environment import Env @@ -161,9 +161,9 @@ class Newznab(NZBProvider, RSS): def getHosts(self): - uses = [x.strip() for x in str(self.conf('use')).split(',')] - hosts = [x.strip() for x in self.conf('host').split(',')] - api_keys = [x.strip() for x in self.conf('api_key').split(',')] + uses = splitString(str(self.conf('use'))) + hosts = splitString(self.conf('host')) + api_keys = splitString(self.conf('api_key')) list = [] for nr in range(len(hosts)):