@@ -182,9 +182,10 @@ def dvr_param_edit(dvr_uuid_sel, dvr_info_list, dvr_keep_key, dvr_keep_val, dvr_
182
182
param_update = '"profile":' + str (dvr_profile )
183
183
if sel_param == 6 :
184
184
dvr_file_param_load (dvr_uuid_sel )
185
- param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + dvr_uuid_sel + '"}'
186
- param_save = requests .get (param_url )
187
- dvr_param_load (dvr_uuid_sel )
185
+ if param_update != "" :
186
+ param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + dvr_uuid_sel + '"}'
187
+ param_save = requests .get (param_url )
188
+ dvr_param_load (dvr_uuid_sel )
188
189
189
190
def dvr_file_param_load (dvr_uuid_sel ):
190
191
dvr_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/load?uuid=' + dvr_uuid_sel
@@ -270,9 +271,10 @@ def dvr_file_param_edit(dvr_uuid_sel, dvr_file_info_list, dvr_day_dir, dvr_chann
270
271
if sel_enabled >= 0 :
271
272
dvr_windows_title = truefalse [sel_enabled ]
272
273
param_update = '"windows-compatible-filenames":' + dvr_windows_title
273
- param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + dvr_uuid_sel + '"}'
274
- param_save = requests .get (param_url )
275
- dvr_file_param_load (dvr_uuid_sel )
274
+ if param_update != "" :
275
+ param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + dvr_uuid_sel + '"}'
276
+ param_save = requests .get (param_url )
277
+ dvr_file_param_load (dvr_uuid_sel )
276
278
277
279
def mux_param_load_atsct (mux_uuid_sel ):
278
280
mux_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/load?uuid=' + mux_uuid_sel
@@ -335,7 +337,7 @@ def mux_param_edit_atsct(mux_uuid_sel, mux_info_list, mux_scanstate, mux_scansta
335
337
delete_mux_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/delete?uuid=["' + mux_uuid_sel + '"]'
336
338
delete_mux = requests .get (delete_mux_url )
337
339
muxes ()
338
- if sel_param < 7 :
340
+ if param_update != "" :
339
341
param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + mux_uuid_sel + '"}'
340
342
param_save = requests .get (param_url )
341
343
mux_param_load_atsct (mux_uuid_sel )
@@ -405,7 +407,7 @@ def mux_param_edit_atscc(mux_uuid_sel, mux_info_list, mux_scanstate, mux_scansta
405
407
delete_mux_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/delete?uuid=["' + mux_uuid_sel + '"]'
406
408
delete_mux = requests .get (delete_mux_url )
407
409
muxes ()
408
- if sel_param < 8 :
410
+ if param_update != "" :
409
411
param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + mux_uuid_sel + '"}'
410
412
param_save = requests .get (param_url )
411
413
mux_param_load_atscc (mux_uuid_sel )
@@ -523,7 +525,7 @@ def mux_param_edit_dvbt(mux_uuid_sel, mux_info_list, mux_plp_id, mux_fec_lo, mux
523
525
delete_mux_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/delete?uuid=["' + mux_uuid_sel + '"]'
524
526
delete_mux = requests .get (delete_mux_url )
525
527
muxes ()
526
- if sel_param < 14 :
528
+ if param_update != "" :
527
529
param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + mux_uuid_sel + '"}'
528
530
param_save = requests .get (param_url )
529
531
mux_param_load_dvbt (mux_uuid_sel )
@@ -640,56 +642,58 @@ def ch_param_edit(ch_uuid_sel, ch_info_list, ch_enabled, ch_autoname, ch_name, c
640
642
delete_ch_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/delete?uuid=["' + ch_uuid_sel + '"]'
641
643
delete_ch = requests .get (delete_ch_url )
642
644
channels ()
643
- if sel_param < 6 :
645
+ if param_update != "" :
644
646
param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + ch_uuid_sel + '"}'
645
647
param_save = requests .get (param_url )
646
648
ch_param_load (ch_uuid_sel )
647
649
648
650
649
651
def epg_param (sel_epg , epg_rename , epg_renumber , epg_reicon , epg_dbsave , epg_intcron , epg_otainit , epg_otacron , epg_otatime ):
650
- if sel_epg == 1 :
652
+ param_update = ""
653
+ if sel_epg == 3 :
651
654
sel_epg_rename = dialog .select ('Update channel name with EPG provider name' , list = enabledisable )
652
655
if sel_epg_rename >= 0 :
653
656
epg_rename = truefalse [sel_epg_rename ]
654
657
param_update = '"channel_rename":' + epg_rename
655
- if sel_epg == 2 :
658
+ if sel_epg == 4 :
656
659
sel_epg_renumber = dialog .select ('Update channel number with EPG provider number' , list = enabledisable )
657
660
if sel_epg_renumber >= 0 :
658
661
epg_renumber = truefalse [sel_epg_renumber ]
659
662
param_update = '"channel_renumber":' + epg_renumber
660
- if sel_epg == 3 :
663
+ if sel_epg == 5 :
661
664
sel_epg_reicon = dialog .select ('Update channel icon with EPG provider icon' , list = enabledisable )
662
665
if sel_epg_reicon >= 0 :
663
666
epg_reicon = truefalse [sel_epg_reicon ]
664
667
param_update = '"channel_reicon":' + epg_reicon
665
- if sel_epg == 4 :
668
+ if sel_epg == 6 :
666
669
sel_epg_dbsave = dialog .input ('Save EPG data to disk every X hours (set 0 to disable)' , defaultt = str (epg_dbsave ),type = xbmcgui .INPUT_NUMERIC )
667
670
if sel_epg_dbsave == "" :
668
671
sel_epg_dbsave = epg_dbsave
669
672
param_update = '"epgdb_periodicsave":' + str (sel_epg_dbsave )
670
- if sel_epg == 5 :
673
+ if sel_epg == 7 :
671
674
sel_epg_intcron = dialog .input ('Edit the cron multiline for internal grabbers' , defaultt = epg_intcron ,type = xbmcgui .INPUT_ALPHANUM )
672
675
if sel_epg_intcron == "" :
673
676
sel_epg_intcron = epg_intcron
674
677
param_update = '"cron":"' + sel_epg_intcron + '"'
675
- if sel_epg == 6 :
678
+ if sel_epg == 8 :
676
679
sel_epg_otainit = dialog .select ('Enable or disable initial EPG grab at startup' , list = enabledisable )
677
680
if sel_epg_otainit >= 0 :
678
681
epg_otainit = truefalse [sel_epg_otainit ]
679
682
param_update = '"ota_initial":' + epg_otainit
680
- if sel_epg == 7 :
683
+ if sel_epg == 9 :
681
684
sel_epg_otacron = dialog .input ('Edit the cron multiline for over-the-air grabbers' , defaultt = epg_otacron ,type = xbmcgui .INPUT_ALPHANUM )
682
685
if sel_epg_otacron == "" :
683
686
sel_epg_otacron = epg_otacron
684
687
param_update = '"cron":"' + sel_epg_otacron + '"'
685
- if sel_epg == 8 :
688
+ if sel_epg == 10 :
686
689
sel_epg_otatime = dialog .input ('OTA EPG scan timeout in seconds (30-7200)' , defaultt = str (epg_otatime ),type = xbmcgui .INPUT_NUMERIC )
687
690
if sel_epg_otatime == "" :
688
691
sel_epg_otatime = epg_otatime
689
692
param_update = '"ota_timeout":' + str (sel_epg_otatime )
690
- param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/epggrab/config/save?node={' + param_update + '}'
691
- param_save = requests .get (param_url )
692
- epg ()
693
+ if param_update != "" :
694
+ param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/epggrab/config/save?node={' + param_update + '}'
695
+ param_save = requests .get (param_url )
696
+ epg ()
693
697
694
698
def epgmod_list_load ():
695
699
epg_modlist_url = 'http://' + tvh_url + ':' + tvh_port + '/api/epggrab/module/list'
@@ -771,9 +775,10 @@ def epgmod_param_edit(epgmod_uuid_sel, epgmod_info_list, epgmod_enabled, epgmod_
771
775
if sel_param == 3 :
772
776
sel_epgmod_args = dialog .input ('Additional arguments to pass to the grabber' , defaultt = epgmod_args ,type = xbmcgui .INPUT_ALPHANUM )
773
777
param_update = '"args":"' + sel_epgmod_args + '"'
774
- param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + epgmod_uuid_sel + '"}'
775
- param_save = requests .get (param_url )
776
- epgmod_param_load (epgmod_uuid_sel )
778
+ if param_update != "" :
779
+ param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + epgmod_uuid_sel + '"}'
780
+ param_save = requests .get (param_url )
781
+ epgmod_param_load (epgmod_uuid_sel )
777
782
778
783
def adapt_param_load (adapter_uuid_sel ):
779
784
adapt_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/load?uuid=' + adapter_uuid_sel
@@ -856,9 +861,10 @@ def adapt_param_edit(adapter_uuid_sel, adapt_info_list, adapt_enabled, adapt_nam
856
861
if sel_adapt_idle >= 0 :
857
862
adapt_idle = truefalse [sel_adapt_idle ]
858
863
param_update = '"idlescan":' + adapt_idle
859
- param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + adapter_uuid_sel + '"}'
860
- param_save = requests .get (param_url )
861
- adapt_param_load (adapter_uuid_sel )
864
+ if param_update != "" :
865
+ param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + adapter_uuid_sel + '"}'
866
+ param_save = requests .get (param_url )
867
+ adapt_param_load (adapter_uuid_sel )
862
868
863
869
def network_new ():
864
870
net_type_name = ["ATSC-T" ,"ATSC-C" ,"DVB-S" ,"DVB-C" ,"DVB-T" ,"ISDB-S" ,"ISDB-C" ,"ISDB-T" ,"IPTV Automatic" ]
@@ -890,7 +896,8 @@ def net_param_load(net_uuid_sel):
890
896
net_load = requests .get (net_url ).json ()
891
897
net_name = find_param (net_load , 'networkname' )
892
898
net_bouquet = find_param (net_load , 'bouquet' )
893
- net_type = net_load ['entries' ][0 ]['params' ][17 ]['enum' ]['params' ]['type' ]
899
+ net_type = net_load ['entries' ][0 ]['class' ]
900
+ net_type = re .sub ("dvb_network_" ,"" ,net_type )
894
901
net_num_mux = find_param (net_load , 'num_mux' )
895
902
net_num_svc = find_param (net_load , 'num_svc' )
896
903
net_num_ch = find_param (net_load , 'num_chn' )
@@ -935,11 +942,8 @@ def net_param_edit(net_uuid_sel, net_info_list, net_name, net_bouquet, net_type,
935
942
for scan_v in dvb_list ['entries' ]:
936
943
scan_val .append (scan_v ['val' ])
937
944
sel_scan = dialog .select ('Select a pre-defined mux list for the ' + net_name + " network" , list = scan_val )
938
- scan_val_sel = scan_val [sel_scan ]
945
+ scan_val_sel = scan_key [sel_scan ]
939
946
param_update = '"scanfile":"' + scan_val_sel + '"'
940
- param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + net_uuid_sel + '"}'
941
- param_save = requests .get (param_url )
942
- net_param_load (net_uuid_sel )
943
947
if sel_param == 3 and net_num_mux != 0 and net_num_svc != 0 :
944
948
if dialog .yesno (str (net_num_svc ) + " services found!" , "Would you like to scan muxes for new services?" ):
945
949
start_scan (net_uuid_sel )
@@ -965,7 +969,9 @@ def net_param_edit(net_uuid_sel, net_info_list, net_name, net_bouquet, net_type,
965
969
delete_net_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/delete?uuid=["' + net_uuid_sel + '"]'
966
970
delete_net = requests .get (delete_net_url )
967
971
networks ()
968
- if sel_param < 5 :
972
+ if param_update != "" :
973
+ param_url = 'http://' + tvh_url + ':' + tvh_port + '/api/idnode/save?node={' + param_update + ',"uuid":"' + net_uuid_sel + '"}'
974
+ param_save = requests .get (param_url )
969
975
net_param_load (net_uuid_sel )
970
976
971
977
def start_scan (net_uuid_sel ):
@@ -1208,6 +1214,8 @@ def networks():
1208
1214
for net_u in networks ['entries' ]:
1209
1215
net_uuid .append (net_u ['uuid' ])
1210
1216
sel_network = dialog .select ('Select a network to configure' , list = net_name )
1217
+ if sel_network < 0 :
1218
+ return
1211
1219
if sel_network == 0 :
1212
1220
net_uuid_sel = network_new ()
1213
1221
net_param_load (net_uuid_sel )
0 commit comments