21
21
if tvh_url_get :
22
22
tvh_url_set = xbmcaddon .Addon ().setSetting (id = 'tvhurl' , value = tvh_url_get )
23
23
else :
24
- tvh_url_set = xbmcaddon .Addon ().setSetting (id = 'tvhurl' , value = "127.0.0.1" )
24
+ try :
25
+ tvh_url = xbmcaddon .Addon ().getSetting ('tvhurl' )
26
+ except :
27
+ tvh_url_set = xbmcaddon .Addon ().setSetting (id = 'tvhurl' , value = "127.0.0.1" )
25
28
tvh_port_get = xbmcaddon .Addon ('pvr.hts' ).getSetting ("http_port" )
26
29
if tvh_port_get :
27
30
tvh_port_set = xbmcaddon .Addon ().setSetting (id = 'tvhport' , value = tvh_port_get )
28
31
else :
29
- tvh_port_set = xbmcaddon .Addon ().setSetting (id = 'tvhport' , value = "9981" )
32
+ try :
33
+ tvh_port = xbmcaddon .Addon ().getSetting ('tvhport' )
34
+ except :
35
+ tvh_port_set = xbmcaddon .Addon ().setSetting (id = 'tvhport' , value = "9981" )
30
36
except :
31
37
pass
32
38
@@ -915,14 +921,17 @@ def adapt_param_load(adapter_uuid_sel):
915
921
if adapt_network == []:
916
922
adapt_network = ""
917
923
else :
918
- adapt_network_uuid = adapt_load ['entries' ][0 ]['params' ][10 ]['value' ][0 ]
919
- adapt_network_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/load?uuid=' + str (adapt_network_uuid )
920
- adapt_network_load = requests .get (adapt_network_url ).json ()
921
- adapt_network = adapt_network_load ['entries' ][0 ]['text' ]
924
+ adapt_network_uuid_list = find_list (adapt_load , 'networks' , 'value' )
925
+ adapt_network_name = []
926
+ for net_u in adapt_network_uuid_list :
927
+ adapt_network_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/load?uuid=' + str (net_u )
928
+ adapt_network_load = requests .get (adapt_network_url ).json ()
929
+ adapt_network_name .append (adapt_network_load ['entries' ][0 ]['text' ])
930
+ adapt_network = ' & ' .join (str (s ) for s in adapt_network_name )
922
931
adapt_info_list = ["Name: " + str (adapt_name ), "Enabled: " + str (adapt_enabled ), "Networks: " + str (adapt_network ), "Priority: " + str (adapt_priority ), "Enable OTA EPG scanning: " + str (adapt_otaepg ), "Allow initial scanning on startup: " + str (adapt_init ), "Allow idle scanning: " + str (adapt_idle )]
923
- adapt_param_edit (adapter_uuid_sel , adapt_info_list , adapt_enabled , adapt_name , adapt_network , adapt_priority , adapt_otaepg , adapt_init , adapt_idle )
932
+ adapt_param_edit (adapter_uuid_sel , adapt_info_list , adapt_enabled , adapt_name , adapt_network , adapt_network_uuid_list , adapt_priority , adapt_otaepg , adapt_init , adapt_idle )
924
933
925
- def adapt_param_edit (adapter_uuid_sel , adapt_info_list , adapt_enabled , adapt_name , adapt_network , adapt_priority , adapt_otaepg , adapt_init , adapt_idle ):
934
+ def adapt_param_edit (adapter_uuid_sel , adapt_info_list , adapt_enabled , adapt_name , adapt_network , adapt_network_uuid_list , adapt_priority , adapt_otaepg , adapt_init , adapt_idle ):
926
935
sel_param = dialog .select ('Adapters Configuration - Select parameter to edit' , list = adapt_info_list )
927
936
if sel_param < 0 :
928
937
adapters ()
@@ -941,27 +950,29 @@ def adapt_param_edit(adapter_uuid_sel, adapt_info_list, adapt_enabled, adapt_nam
941
950
adapt_enabled = truefalse [sel_adapt_enabled ]
942
951
param_update = '"enabled":' + adapt_enabled
943
952
if sel_param == 2 :
944
- networks_url = 'http://' + tvh_url + ':' + tvh_port + '/api/mpegts/network/grid'
953
+ networks_url = 'http://' + tvh_url + ':' + tvh_port + '/api/mpegts/input/network_list?uuid=' + adapter_uuid_sel
945
954
networks = requests .get (networks_url ).json ()
946
- net_name = ["Setup New Network" ]
947
- net_uuid = [0 ]
955
+ net_uuid = []
948
956
if networks ['entries' ] == []:
949
957
if dialog .yesno ("No Networks found!" , "" , "Would you like to setup a new Network?" ):
950
958
net_uuid_sel = network_new ()
951
959
param_update = '"networks":["' + net_uuid_sel + '"]'
952
960
else :
953
- net_name = ["Setup New Network" ]
954
- net_uuid = [0 ]
955
- for net_n in networks ['entries' ]:
956
- net_name .append (net_n ['networkname' ])
957
- for net_u in networks ['entries' ]:
958
- net_uuid .append (net_u ['uuid' ])
959
- sel_network = dialog .select ('Select a network to assign to this adapter' , list = net_name )
960
- if sel_network == 0 :
961
- network_new ()
962
- param_update = '"networks":["' + net_uuid_sel + '"]'
963
- if sel_network > 0 :
964
- net_uuid_sel = net_uuid [sel_network ]
961
+ net_key = []
962
+ net_val = []
963
+ net_dict = networks ['entries' ]
964
+ for net_k in net_dict :
965
+ net_key .append (net_k ['key' ])
966
+ for net_v in net_dict :
967
+ net_val .append (net_v ['val' ])
968
+ net_preselect = [i for i , item in enumerate (net_key ) if item in set (adapt_network_uuid_list )]
969
+ sel_network = dialog .multiselect ('Select which networks to assign to this adapter' , options = net_val , preselect = net_preselect )
970
+ if sel_network == [] or sel_network == None :
971
+ adapt_param_load (adapter_uuid_sel )
972
+ else :
973
+ for sel in sel_network :
974
+ net_uuid .append (net_key [sel ])
975
+ net_uuid_sel = '", "' .join (str (s ) for s in net_uuid )
965
976
param_update = '"networks":["' + net_uuid_sel + '"]'
966
977
if sel_param == 3 :
967
978
sel_adapt_priority = dialog .input ('Edit the adapter priority (higher used first)' , defaultt = str (adapt_priority ),type = xbmcgui .INPUT_NUMERIC )
0 commit comments