Merge remote-tracking branch 'origin/master'

This commit is contained in:
marco
2020-06-07 11:12:12 +02:00
5 changed files with 51 additions and 6 deletions

View File

@@ -223,6 +223,10 @@ msgctxt "#30068"
msgid "Filter by servers"
msgstr ""
msgctxt "#30069"
msgid "Priority to quality"
msgstr ""
msgctxt "#30100"
msgid "Settings"
msgstr ""

View File

@@ -223,6 +223,10 @@ msgctxt "#30068"
msgid "Filter by servers"
msgstr "Filtra per server"
msgctxt "#30069"
msgid "Priority to quality"
msgstr "Priorità alla qualità"
msgctxt "#30100"
msgid "Settings"
msgstr "Impostazioni"

View File

@@ -66,6 +66,7 @@
<setting id="servers_favorites" type="action" label="60551" action="RunPlugin(plugin://plugin.video.kod/?ew0KICAgICJhY3Rpb24iOiAic2VydmVyc19mYXZvcml0ZXMiLA0KICAgICJjaGFubmVsIjogInNldHRpbmciDQp9==)"/>
<setting id="favorites_servers" type="bool" label="60551" default="false" visible="false"/>
<setting id="filter_servers" type="bool" label="30068" default="false" visible="false"/>
<setting id="quality_priority" type="bool" label="30069" default="false" visible="false"/>
<setting id="servers_blacklist" type="action" label="60550" action="RunPlugin(plugin://plugin.video.kod/?ew0KICAgICJhY3Rpb24iOiAic2VydmVyc19ibGFja2xpc3QiLA0KICAgICJjaGFubmVsIjogInNldHRpbmciDQp9==)"/>
<setting id="servers_config" type="action" label="60538" action="RunPlugin(plugin://plugin.video.kod/?ew0KICAgICJhY3Rpb24iOiAic2VydmVyc19tZW51IiwNCiAgICAiY2hhbm5lbCI6ICJzaG9ydGN1dHMiDQp9==)"/>

View File

@@ -108,10 +108,14 @@ def start(itemlist, item):
if 'server' not in item:
continue
if item.server.lower() in blacklisted_servers:
continue
# If it does not have a defined quality, it assigns a 'default' quality.
if item.quality == '':
item.quality = 'default'
# The list for custom settings is created
if priority < 2: # 0: Servers and qualities or 1: Qualities and servers
# if the server and the quality are not in the favorites lists or the url is repeated, we discard the item
@@ -152,15 +156,38 @@ def start(itemlist, item):
# If the item reaches here we add it to the list of valid urls and to autoplay_list
url_list_valid.append(item.url)
item.plan_b=True
autoplay_elem['videoitem'] = item
autoplay_list.append(autoplay_elem)
# We order according to priority
if priority == 0: autoplay_list.sort(key=lambda orden: (orden['indice_server'], orden['indice_quality'])) # Servers and qualities
if priority == 0: autoplay_list.sort(key=lambda orden: (orden['indice_quality'], orden['indice_server'])) # Servers and qualities
elif priority == 1: autoplay_list.sort(key=lambda orden: (orden['indice_quality'], orden['indice_server'])) # Qualities and servers
elif priority == 2: autoplay_list.sort(key=lambda orden: (orden['indice_server'])) # Servers only
elif priority == 3: autoplay_list.sort(key=lambda orden: (orden['indice_quality'])) # Only qualities
# if quality priority is active
if priority == 0 and config.get_setting('quality_priority'):
max_quality = autoplay_list[0]["indice_quality"]
for n, item in enumerate(itemlist):
if 'server' not in item:
continue
if item.server.lower() in blacklisted_servers:
continue
# If it does not have a defined quality, it assigns a 'default' quality.
if item.quality == '':
item.quality = 'default'
if favorite_quality.index(item.quality.lower()) < max_quality:
item.type_b = False
autoplay_elem["indice_server"] = n
autoplay_elem["indice_quality"] = favorite_quality.index(item.quality.lower())
autoplay_elem['videoitem'] = item
autoplay_list.append(autoplay_elem)
autoplay_list.sort(key=lambda orden: (orden['indice_quality'], orden['indice_server']))
# Plan b is prepared, in case it is active the non-favorite elements are added at the end
try: plan_b = settings_node['plan_b']
except: plan_b = True

View File

@@ -348,12 +348,19 @@ def servers_favorites(item):
dict_values = {}
list_controls = [{'id': 'favorites_servers',
'type': "bool",
'type': 'bool',
'label': config.get_localized_string(60577),
'default': False,
'enabled': True,
'visible': True},
{'id': 'quality_priority',
'type': 'bool',
'label': config.get_localized_string(30069),
'default': False,
'enabled': 'eq(-1,True)',
'visible': True}]
dict_values['favorites_servers'] = config.get_setting('favorites_servers')
dict_values['quality_priority'] = config.get_setting('quality_priority')
if dict_values['favorites_servers'] == None:
dict_values['favorites_servers'] = False
@@ -368,15 +375,15 @@ def servers_favorites(item):
orden = config.get_setting("favorites_servers_list", server=server)
if orden > 0:
dict_values[orden] = len(server_names) - 1
dict_values[orden] = len(server_names) - 2
for x in range(1, 11):
for x in range(2, 12):
control = {'id': x,
'type': "list",
'type': 'list',
'label': config.get_localized_string(60597) % x,
'lvalues': server_names,
'default': 0,
'enabled': "eq(-%s,True)" % x,
'enabled': 'eq(-%s,True)' % x,
'visible': True}
list_controls.append(control)
@@ -392,6 +399,8 @@ def cb_servers_favorites(server_names, dict_values):
for i, v in list(dict_values.items()):
if i == "favorites_servers":
config.set_setting("favorites_servers", v)
if i == "quality_priority":
config.set_setting("quality_priority", v)
elif int(v) > 0:
dict_name[server_names[v]] = int(i)