2121 if tvh_url_get :
2222 tvh_url_set = xbmcaddon .Addon ().setSetting (id = 'tvhurl' , value = tvh_url_get )
2323 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" )
2528 tvh_port_get = xbmcaddon .Addon ('pvr.hts' ).getSetting ("http_port" )
2629 if tvh_port_get :
2730 tvh_port_set = xbmcaddon .Addon ().setSetting (id = 'tvhport' , value = tvh_port_get )
2831 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" )
3036except :
3137 pass
3238
@@ -915,14 +921,17 @@ def adapt_param_load(adapter_uuid_sel):
915921 if adapt_network == []:
916922 adapt_network = ""
917923 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 )
922931 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 )
924933
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 ):
926935 sel_param = dialog .select ('Adapters Configuration - Select parameter to edit' , list = adapt_info_list )
927936 if sel_param < 0 :
928937 adapters ()
@@ -941,27 +950,29 @@ def adapt_param_edit(adapter_uuid_sel, adapt_info_list, adapt_enabled, adapt_nam
941950 adapt_enabled = truefalse [sel_adapt_enabled ]
942951 param_update = '"enabled":' + adapt_enabled
943952 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
945954 networks = requests .get (networks_url ).json ()
946- net_name = ["Setup New Network" ]
947- net_uuid = [0 ]
955+ net_uuid = []
948956 if networks ['entries' ] == []:
949957 if dialog .yesno ("No Networks found!" , "" , "Would you like to setup a new Network?" ):
950958 net_uuid_sel = network_new ()
951959 param_update = '"networks":["' + net_uuid_sel + '"]'
952960 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 )
965976 param_update = '"networks":["' + net_uuid_sel + '"]'
966977 if sel_param == 3 :
967978 sel_adapt_priority = dialog .input ('Edit the adapter priority (higher used first)' , defaultt = str (adapt_priority ),type = xbmcgui .INPUT_NUMERIC )
0 commit comments