本文整理汇总了Python中sickbeard.common.Quality.combineQualities方法的典型用法代码示例。如果您正苦于以下问题:Python Quality.combineQualities方法的具体用法?Python Quality.combineQualities怎么用?Python Quality.combineQualities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sickbeard.common.Quality
的用法示例。
在下文中一共展示了Quality.combineQualities方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: saveAddShowDefaults
# 需要导入模块: from sickbeard.common import Quality [as 别名]
# 或者: from sickbeard.common.Quality import combineQualities [as 别名]
def saveAddShowDefaults(defaultStatus, anyQualities, bestQualities, defaultFlattenFolders, subtitles=False,
anime=False, scene=False, defaultStatusAfter=WANTED):
allowed_qualities = anyQualities.split(',') if anyQualities else []
preferred_qualities = bestQualities.split(',') if bestQualities else []
new_quality = Quality.combineQualities([int(quality) for quality in allowed_qualities], [int(quality) for quality in preferred_qualities])
sickbeard.STATUS_DEFAULT = int(defaultStatus)
sickbeard.STATUS_DEFAULT_AFTER = int(defaultStatusAfter)
sickbeard.QUALITY_DEFAULT = int(new_quality)
sickbeard.FLATTEN_FOLDERS_DEFAULT = config.checkbox_to_value(defaultFlattenFolders)
sickbeard.SUBTITLES_DEFAULT = config.checkbox_to_value(subtitles)
sickbeard.ANIME_DEFAULT = config.checkbox_to_value(anime)
sickbeard.SCENE_DEFAULT = config.checkbox_to_value(scene)
sickbeard.save_config()
示例2: saveAddShowDefaults
# 需要导入模块: from sickbeard.common import Quality [as 别名]
# 或者: from sickbeard.common.Quality import combineQualities [as 别名]
def saveAddShowDefaults(self, defaultSeasonFolders, defaultStatus, anyQualities, bestQualities):
if anyQualities:
anyQualities = anyQualities.split(',')
else:
anyQualities = []
if bestQualities:
bestQualities = bestQualities.split(',')
else:
bestQualities = []
newQuality = Quality.combineQualities(map(int, anyQualities), map(int, bestQualities))
sickbeard.STATUS_DEFAULT = int(defaultStatus)
sickbeard.QUALITY_DEFAULT = int(newQuality)
if defaultSeasonFolders == "true":
defaultSeasonFolders = 1
else:
defaultSeasonFolders = 0
sickbeard.SEASON_FOLDERS_DEFAULT = int(defaultSeasonFolders)
示例3: addNewShow
# 需要导入模块: from sickbeard.common import Quality [as 别名]
# 或者: from sickbeard.common.Quality import combineQualities [as 别名]
#.........这里部分代码省略.........
other_shows = [other_shows]
def finishAddShow():
# if there are no extra shows then go home
if not other_shows:
return self.redirect('/home/')
# peel off the next one
next_show_dir = other_shows[0]
rest_of_show_dirs = other_shows[1:]
# go to add the next show
return self.newShow(next_show_dir, rest_of_show_dirs)
# if we're skipping then behave accordingly
if skipShow:
return finishAddShow()
# sanity check on our inputs
if (not rootDir and not fullShowPath) or not whichSeries:
return 'Missing params, no Indexer ID or folder:{series!r} and {root!r}/{path!r}'.format(
series=whichSeries, root=rootDir, path=fullShowPath)
# figure out what show we're adding and where
series_pieces = whichSeries.split('|')
if (whichSeries and rootDir) or (whichSeries and fullShowPath and len(series_pieces) > 1):
if len(series_pieces) < 6:
logger.log(u'Unable to add show due to show selection. Not anough arguments: %s' % (repr(series_pieces)),
logger.ERROR)
ui.notifications.error('Unknown error. Unable to add show due to problem with show selection.')
return self.redirect('/addShows/existingShows/')
indexer = int(series_pieces[1])
indexer_id = int(series_pieces[3])
# Show name was sent in UTF-8 in the form
show_name = series_pieces[4].decode('utf-8')
else:
# if no indexer was provided use the default indexer set in General settings
if not provided_indexer:
provided_indexer = sickbeard.INDEXER_DEFAULT
indexer = int(provided_indexer)
indexer_id = int(whichSeries)
show_name = ek(os.path.basename, ek(os.path.normpath, fullShowPath))
# use the whole path if it's given, or else append the show name to the root dir to get the full show path
if fullShowPath:
show_dir = ek(os.path.normpath, fullShowPath)
else:
show_dir = ek(os.path.join, rootDir, sanitize_filename(show_name))
# blanket policy - if the dir exists you should have used 'add existing show' numbnuts
if ek(os.path.isdir, show_dir) and not fullShowPath:
ui.notifications.error('Unable to add show', 'Folder {path} exists already'.format(path=show_dir))
return self.redirect('/addShows/existingShows/')
# don't create show dir if config says not to
if sickbeard.ADD_SHOWS_WO_DIR:
logger.log(u'Skipping initial creation of {path} due to config.ini setting'.format
(path=show_dir))
else:
dir_exists = helpers.makeDir(show_dir)
if not dir_exists:
logger.log(u'Unable to create the folder {path}, can\'t add the show'.format
(path=show_dir), logger.ERROR)
ui.notifications.error('Unable to add show',
'Unable to create the folder {path}, can\'t add the show'.format(path=show_dir))
# Don't redirect to default page because user wants to see the new show
return self.redirect('/home/')
else:
helpers.chmodAsParent(show_dir)
# prepare the inputs for passing along
scene = config.checkbox_to_value(scene)
anime = config.checkbox_to_value(anime)
flatten_folders = config.checkbox_to_value(flatten_folders)
subtitles = config.checkbox_to_value(subtitles)
if whitelist:
whitelist = short_group_names(whitelist)
if blacklist:
blacklist = short_group_names(blacklist)
if not allowed_qualities:
allowed_qualities = []
if not preferred_qualities or try_int(quality_preset, None):
preferred_qualities = []
if not isinstance(allowed_qualities, list):
allowed_qualities = [allowed_qualities]
if not isinstance(preferred_qualities, list):
preferred_qualities = [preferred_qualities]
new_quality = Quality.combineQualities([int(q) for q in allowed_qualities], [int(q) for q in preferred_qualities])
# add the show
sickbeard.showQueueScheduler.action.addShow(indexer, indexer_id, show_dir, int(defaultStatus), new_quality,
flatten_folders, indexer_lang, subtitles, anime,
scene, None, blacklist, whitelist, int(defaultStatusAfter))
ui.notifications.message('Show added', 'Adding the specified show into {path}'.format(path=show_dir))
return finishAddShow()
示例4: addShowByID
# 需要导入模块: from sickbeard.common import Quality [as 别名]
# 或者: from sickbeard.common.Quality import combineQualities [as 别名]
def addShowByID(self, indexer_id, show_name, indexer='TVDB', which_series=None,
indexer_lang=None, root_dir=None, default_status=None,
quality_preset=None, any_qualities=None, best_qualities=None,
flatten_folders=None, subtitles=None, full_show_path=None,
other_shows=None, skip_show=None, provided_indexer=None,
anime=None, scene=None, blacklist=None, whitelist=None,
default_status_after=None, default_flatten_folders=None,
configure_show_options=None):
if indexer != 'TVDB':
tvdb_id = helpers.getTVDBFromID(indexer_id, indexer.upper())
if not tvdb_id:
logger.log(u'Unable to to find tvdb ID to add %s' % show_name)
ui.notifications.error(
'Unable to add %s' % show_name,
'Could not add %s. We were unable to locate the tvdb id at this time.' % show_name
)
return
indexer_id = try_int(tvdb_id, None)
if Show.find(sickbeard.showList, int(indexer_id)):
return
# Sanitize the paramater anyQualities and bestQualities. As these would normally be passed as lists
if any_qualities:
any_qualities = any_qualities.split(',')
else:
any_qualities = []
if best_qualities:
best_qualities = best_qualities.split(',')
else:
best_qualities = []
# If configure_show_options is enabled let's use the provided settings
configure_show_options = config.checkbox_to_value(configure_show_options)
if configure_show_options:
# prepare the inputs for passing along
scene = config.checkbox_to_value(scene)
anime = config.checkbox_to_value(anime)
flatten_folders = config.checkbox_to_value(flatten_folders)
subtitles = config.checkbox_to_value(subtitles)
if whitelist:
whitelist = short_group_names(whitelist)
if blacklist:
blacklist = short_group_names(blacklist)
if not any_qualities:
any_qualities = []
if not best_qualities or try_int(quality_preset, None):
best_qualities = []
if not isinstance(any_qualities, list):
any_qualities = [any_qualities]
if not isinstance(best_qualities, list):
best_qualities = [best_qualities]
quality = Quality.combineQualities([int(q) for q in any_qualities], [int(q) for q in best_qualities])
location = root_dir
else:
default_status = sickbeard.STATUS_DEFAULT
quality = sickbeard.QUALITY_DEFAULT
flatten_folders = sickbeard.FLATTEN_FOLDERS_DEFAULT
subtitles = sickbeard.SUBTITLES_DEFAULT
anime = sickbeard.ANIME_DEFAULT
scene = sickbeard.SCENE_DEFAULT
default_status_after = sickbeard.STATUS_DEFAULT_AFTER
if sickbeard.ROOT_DIRS:
root_dirs = sickbeard.ROOT_DIRS.split('|')
location = root_dirs[int(root_dirs[0]) + 1]
else:
location = None
if not location:
logger.log(u'There was an error creating the show, '
u'no root directory setting found', logger.WARNING)
return 'No root directories setup, please go back and add one.'
show_name = get_showname_from_indexer(1, indexer_id)
show_dir = None
# add the show
sickbeard.showQueueScheduler.action.addShow(1, int(indexer_id), show_dir, int(default_status), quality, flatten_folders,
indexer_lang, subtitles, anime, scene, None, blacklist, whitelist,
int(default_status_after), root_dir=location)
ui.notifications.message('Show added', 'Adding the specified show {0}'.format(show_name))
# done adding show
return self.redirect('/home/')
示例5: editShow
# 需要导入模块: from sickbeard.common import Quality [as 别名]
# 或者: from sickbeard.common.Quality import combineQualities [as 别名]
def editShow(self, show=None, location=None, anyQualities=[], bestQualities=[], seasonfolders=None, paused=None, directCall=False, air_by_date=None, tvdbLang=None):
if show == None:
errString = "Invalid show ID: "+str(show)
if directCall:
return [errString]
else:
return _genericMessage("Error", errString)
showObj = sickbeard.helpers.findCertainShow(sickbeard.showList, int(show))
if showObj == None:
errString = "Unable to find the specified show: "+str(show)
if directCall:
return [errString]
else:
return _genericMessage("Error", errString)
if not location and not anyQualities and not bestQualities and not seasonfolders:
t = PageTemplate(file="editShow.tmpl")
t.submenu = HomeMenu()
with showObj.lock:
t.show = showObj
return _munge(t)
if seasonfolders == "on":
seasonfolders = 1
else:
seasonfolders = 0
if paused == "on":
paused = 1
else:
paused = 0
if air_by_date == "on":
air_by_date = 1
else:
air_by_date = 0
if tvdbLang and tvdbLang in tvdb_api.Tvdb().config['valid_languages']:
tvdb_lang = tvdbLang
else:
tvdb_lang = showObj.lang
# if we changed the language then kick off an update
if tvdb_lang == showObj.lang:
do_update = False
else:
do_update = True
if type(anyQualities) != list:
anyQualities = [anyQualities]
if type(bestQualities) != list:
bestQualities = [bestQualities]
errors = []
with showObj.lock:
newQuality = Quality.combineQualities(map(int, anyQualities), map(int, bestQualities))
showObj.quality = newQuality
if bool(showObj.seasonfolders) != bool(seasonfolders):
showObj.seasonfolders = seasonfolders
try:
sickbeard.showQueueScheduler.action.refreshShow(showObj) #@UndefinedVariable
except exceptions.CantRefreshException, e:
errors.append("Unable to refresh this show: "+ex(e))
showObj.paused = paused
showObj.air_by_date = air_by_date
showObj.lang = tvdb_lang
# if we change location clear the db of episodes, change it, write to db, and rescan
if os.path.normpath(showObj._location) != os.path.normpath(location):
logger.log(os.path.normpath(showObj._location)+" != "+os.path.normpath(location))
if not ek.ek(os.path.isdir, location):
errors.append("New location <tt>%s</tt> does not exist" % location)
# don't bother if we're going to update anyway
elif not do_update:
# change it
try:
showObj.location = location
try:
sickbeard.showQueueScheduler.action.refreshShow(showObj) #@UndefinedVariable
except exceptions.CantRefreshException, e:
errors.append("Unable to refresh this show:"+ex(e))
# grab updated info from TVDB
#showObj.loadEpisodesFromTVDB()
# rescan the episodes in the new folder
except exceptions.NoNFOException:
errors.append("The folder at <tt>%s</tt> doesn't contain a tvshow.nfo - copy your files to that folder before you change the directory in Sick Beard." % location)
# save it to the DB
showObj.saveToDB()
示例6: addNewShow
# 需要导入模块: from sickbeard.common import Quality [as 别名]
# 或者: from sickbeard.common.Quality import combineQualities [as 别名]
def addNewShow(self, whichSeries=None, tvdbLang="en", rootDir=None, defaultStatus=None,
anyQualities=None, bestQualities=None, seasonFolders=None, fullShowPath=None,
other_shows=None, skipShow=None):
"""
Receive tvdb id, dir, and other options and create a show from them. If extra show dirs are
provided then it forwards back to newShow, if not it goes to /home.
"""
# grab our list of other dirs if given
if not other_shows:
other_shows = []
elif type(other_shows) != list:
other_shows = [other_shows]
def finishAddShow():
# if there are no extra shows then go home
if not other_shows:
redirect('/home')
# peel off the next one
next_show_dir = other_shows[0]
rest_of_show_dirs = other_shows[1:]
# go to add the next show
return self.newShow(next_show_dir, rest_of_show_dirs)
# if we're skipping then behave accordingly
if skipShow:
return finishAddShow()
# sanity check on our inputs
if (not rootDir and not fullShowPath) or not whichSeries:
return "Missing params, no tvdb id or folder:"+repr(whichSeries)+" and "+repr(rootDir)+"/"+repr(fullShowPath)
# figure out what show we're adding and where
series_pieces = whichSeries.partition('|')
if len(series_pieces) < 3:
return "Error with show selection."
tvdb_id = int(series_pieces[0])
show_name = series_pieces[2]
# use the whole path if it's given, or else append the show name to the root dir to get the full show path
if fullShowPath:
show_dir = ek.ek(os.path.normpath, fullShowPath)
else:
show_dir = ek.ek(os.path.join, rootDir, helpers.sanitizeFileName(show_name))
# blanket policy - if the dir exists you should have used "add existing show" numbnuts
if ek.ek(os.path.isdir, show_dir) and not fullShowPath:
ui.notifications.error("Unable to add show", "Folder "+show_dir+" exists already")
redirect('/home')
# create the dir and make sure it worked
dir_exists = helpers.makeDir(show_dir)
if not dir_exists:
logger.log(u"Unable to create the folder "+show_dir+", can't add the show", logger.ERROR)
ui.notifications.error("Unable to add show", "Unable to create the folder "+show_dir+", can't add the show")
redirect("/home")
else:
helpers.chmodAsParent(show_dir)
# prepare the inputs for passing along
if seasonFolders == "on":
seasonFolders = 1
else:
seasonFolders = 0
if not anyQualities:
anyQualities = []
if not bestQualities:
bestQualities = []
if type(anyQualities) != list:
anyQualities = [anyQualities]
if type(bestQualities) != list:
bestQualities = [bestQualities]
newQuality = Quality.combineQualities(map(int, anyQualities), map(int, bestQualities))
# add the show
sickbeard.showQueueScheduler.action.addShow(tvdb_id, show_dir, int(defaultStatus), newQuality, seasonFolders, tvdbLang) #@UndefinedVariable
ui.notifications.message('Show added', 'Adding the specified show into '+show_dir)
return finishAddShow()