Skip to content

Commit

Permalink
Add missing qualities to API show commands
Browse files Browse the repository at this point in the history
  • Loading branch information
labrys committed Jun 25, 2016
1 parent d59050d commit 96a2365
Showing 1 changed file with 35 additions and 90 deletions.
125 changes: 35 additions & 90 deletions sickbeard/server/api/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
# pylint: disable=line-too-long,too-many-lines,abstract-method
# pylint: disable=no-member,method-hidden,missing-docstring,invalid-name

from collections import OrderedDict
from datetime import datetime, date
import io
import json
Expand Down Expand Up @@ -514,33 +515,40 @@ def _ordinal_to_datetime_form(ordinal):
return _ordinal_to_date(ordinal, dateTimeFormat)


quality_map = OrderedDict((
('sdtv', Quality.SDTV),
('sddvd', Quality.SDDVD),
('hdtv', Quality.HDTV),
('rawhdtv', Quality.RAWHDTV),
('fullhdtv', Quality.FULLHDTV),
('hdwebdl', Quality.HDWEBDL),
('fullhdwebdl', Quality.FULLHDWEBDL),
('hdbluray', Quality.HDBLURAY),
('fullhdbluray', Quality.FULLHDBLURAY),
('uhd_4k_tv', Quality.UHD_4K_TV),
('uhd_4k_webdl', Quality.UHD_4K_WEBDL),
("uhd_4k_bluray", Quality.UHD_4K_BLURAY),
('uhd_8k_tv', Quality.UHD_8K_TV),
('uhd_8k_webdl', Quality.UHD_8K_WEBDL),
("uhd_8k_bluray", Quality.UHD_8K_BLURAY),
('unknown', Quality.UNKNOWN),
))


def _map_quality(show_obj):
quality_map = _get_quality_map()
mapped_quality = {v: k for k, v in quality_map.items()}

any_qualities = []
best_qualities = []
allowed_qualities = []
preferred_qualities = []

i_quality_id, a_quality_id = Quality.splitQuality(int(show_obj))
if i_quality_id:
for quality in i_quality_id:
any_qualities.append(quality_map[quality])
allowed_qualities.append(mapped_quality[quality])
if a_quality_id:
for quality in a_quality_id:
best_qualities.append(quality_map[quality])
return any_qualities, best_qualities


def _get_quality_map():
return {Quality.SDTV: 'sdtv',
Quality.SDDVD: 'sddvd',
Quality.HDTV: 'hdtv',
Quality.RAWHDTV: 'rawhdtv',
Quality.FULLHDTV: 'fullhdtv',
Quality.HDWEBDL: 'hdwebdl',
Quality.FULLHDWEBDL: 'fullhdwebdl',
Quality.HDBLURAY: 'hdbluray',
Quality.FULLHDBLURAY: 'fullhdbluray',
Quality.UNKNOWN: 'unknown'}
preferred_qualities.append(mapped_quality[quality])
return allowed_qualities, preferred_qualities


def _get_root_dirs():
Expand Down Expand Up @@ -1759,12 +1767,8 @@ class CMD_SickBeardSetDefaults(ApiCall):
def __init__(self, args, kwargs):
# required
# optional
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list",
["sdtv", "sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl", "hdbluray", "fullhdbluray", "unknown"])
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list",
["sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl", "hdbluray", "fullhdbluray"])
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list", list(quality_map))
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list", list(quality_map).remove('unknown'))
self.future_show_paused, args = self.check_params(args, kwargs, "future_show_paused", None, False, "bool", [])
self.flatten_folders, args = self.check_params(args, kwargs, "flatten_folders", None, False, "bool", [])
self.status, args = self.check_params(args, kwargs, "status", None, False, "string",
Expand All @@ -1775,17 +1779,6 @@ def __init__(self, args, kwargs):
def run(self):
""" Set Medusa's user default configuration value """

quality_map = {'sdtv': Quality.SDTV,
'sddvd': Quality.SDDVD,
'hdtv': Quality.HDTV,
'rawhdtv': Quality.RAWHDTV,
'fullhdtv': Quality.FULLHDTV,
'hdwebdl': Quality.HDWEBDL,
'fullhdwebdl': Quality.FULLHDWEBDL,
'hdbluray': Quality.HDBLURAY,
'fullhdbluray': Quality.FULLHDBLURAY,
'unknown': Quality.UNKNOWN}

i_quality_id = []
a_quality_id = []

Expand Down Expand Up @@ -1977,12 +1970,8 @@ def __init__(self, args, kwargs):
self.indexerid, args = self.check_params(args, kwargs, "indexerid", None, True, "", [])
self.location, args = self.check_params(args, kwargs, "location", None, True, "string", [])
# optional
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list",
["sdtv", "sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl", "hdbluray", "fullhdbluray", "unknown"])
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list",
["sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl", "hdbluray", "fullhdbluray"])
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list", list(quality_map))
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list", list(quality_map).remove('unknown'))
self.flatten_folders, args = self.check_params(args, kwargs, "flatten_folders",
bool(sickbeard.FLATTEN_FOLDERS_DEFAULT), False, "bool", [])
self.subtitles, args = self.check_params(args, kwargs, "subtitles", int(sickbeard.USE_SUBTITLES),
Expand Down Expand Up @@ -2014,17 +2003,6 @@ def run(self):
# set indexer so we can pass it along when adding show to SR
indexer = indexer_result['data']['results'][0]['indexer']

quality_map = {'sdtv': Quality.SDTV,
'sddvd': Quality.SDDVD,
'hdtv': Quality.HDTV,
'rawhdtv': Quality.RAWHDTV,
'fullhdtv': Quality.FULLHDTV,
'hdwebdl': Quality.HDWEBDL,
'fullhdwebdl': Quality.FULLHDWEBDL,
'hdbluray': Quality.HDBLURAY,
'fullhdbluray': Quality.FULLHDBLURAY,
'unknown': Quality.UNKNOWN}

# use default quality as a fail-safe
new_quality = int(sickbeard.QUALITY_DEFAULT)
i_quality_id = []
Expand Down Expand Up @@ -2077,12 +2055,8 @@ def __init__(self, args, kwargs):
self.indexerid, args = self.check_params(args, kwargs, "indexerid", None, True, "int", [])
# optional
self.location, args = self.check_params(args, kwargs, "location", None, False, "string", [])
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list",
["sdtv", "sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl", "hdbluray", "fullhdbluray", "unknown"])
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list",
["sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl", "hdbluray", "fullhdbluray"])
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list", list(quality_map))
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list", list(quality_map).remove('unknown'))
self.flatten_folders, args = self.check_params(args, kwargs, "flatten_folders",
bool(sickbeard.FLATTEN_FOLDERS_DEFAULT), False, "bool", [])
self.status, args = self.check_params(args, kwargs, "status", None, False, "string",
Expand Down Expand Up @@ -2119,17 +2093,6 @@ def run(self):
if not ek(os.path.isdir, self.location):
return _responds(RESULT_FAILURE, msg="'" + self.location + "' is not a valid location")

quality_map = {'sdtv': Quality.SDTV,
'sddvd': Quality.SDDVD,
'hdtv': Quality.HDTV,
'rawhdtv': Quality.RAWHDTV,
'fullhdtv': Quality.FULLHDTV,
'hdwebdl': Quality.HDWEBDL,
'fullhdwebdl': Quality.FULLHDWEBDL,
'hdbluray': Quality.HDBLURAY,
'fullhdbluray': Quality.FULLHDBLURAY,
'unknown': Quality.UNKNOWN}

# use default quality as a fail-safe
new_quality = int(sickbeard.QUALITY_DEFAULT)
i_quality_id = []
Expand Down Expand Up @@ -2618,15 +2581,8 @@ def __init__(self, args, kwargs):
# required
self.indexerid, args = self.check_params(args, kwargs, "indexerid", None, True, "int", [])
# optional
# this for whatever reason removes hdbluray not sdtv... which is just wrong. reverting to previous code.. plus we didnt use the new code everywhere.
# self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list", _get_quality_map().values()[1:])
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list",
["sdtv", "sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl", "hdbluray", "fullhdbluray", "unknown"])
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list",
["sddvd", "hdtv", "rawhdtv", "fullhdtv", "hdwebdl",
"fullhdwebdl",
"hdbluray", "fullhdbluray"])
self.initial, args = self.check_params(args, kwargs, "initial", None, False, "list", list(quality_map))
self.archive, args = self.check_params(args, kwargs, "archive", None, False, "list", list(quality_map).remove('unknown'))
# super, missing, help
ApiCall.__init__(self, args, kwargs)

Expand All @@ -2636,17 +2592,6 @@ def run(self):
if not show_obj:
return _responds(RESULT_FAILURE, msg="Show not found")

quality_map = {'sdtv': Quality.SDTV,
'sddvd': Quality.SDDVD,
'hdtv': Quality.HDTV,
'rawhdtv': Quality.RAWHDTV,
'fullhdtv': Quality.FULLHDTV,
'hdwebdl': Quality.HDWEBDL,
'fullhdwebdl': Quality.FULLHDWEBDL,
'hdbluray': Quality.HDBLURAY,
'fullhdbluray': Quality.FULLHDBLURAY,
'unknown': Quality.UNKNOWN}

# use default quality as a fail-safe
new_quality = int(sickbeard.QUALITY_DEFAULT)
i_quality_id = []
Expand Down

0 comments on commit 96a2365

Please sign in to comment.