Skip to content

Commit ee4265d

Browse files
committed
change the way of creating completion lists
1 parent 366796c commit ee4265d

File tree

1 file changed

+32
-33
lines changed

1 file changed

+32
-33
lines changed

src/meshcore_cli/meshcore_cli.py

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ def get_completions( self, document, complete_event):
317317
else: # normal behavior for remainder
318318
yield from super().get_completions(document, complete_event)
319319

320+
320321
def make_completion_dict(contacts, pending={}, to=None, channels=None):
321322
contact_list = {}
322323
pending_list = {}
@@ -353,8 +354,7 @@ def make_completion_dict(contacts, pending={}, to=None, channels=None):
353354
"chan" : None,
354355
}
355356

356-
if to is None :
357-
completion_list.update({
357+
root_completion_list = {
358358
"ver" : None,
359359
"infos" : None,
360360
"advert" : None,
@@ -452,16 +452,9 @@ def make_completion_dict(contacts, pending={}, to=None, channels=None):
452452
"flood_after":None,
453453
"custom":None,
454454
},
455-
})
456-
completion_list["set"].update(make_completion_dict.custom_vars)
457-
completion_list["get"].update(make_completion_dict.custom_vars)
458-
else :
459-
completion_list.update({
460-
"send" : None,
461-
})
455+
}
462456

463-
if to['type'] > 0: # contact
464-
completion_list.update({
457+
contact_completion_list = {
465458
"contact_info": None,
466459
"export_contact" : None,
467460
"share_contact" : None,
@@ -475,20 +468,16 @@ def make_completion_dict(contacts, pending={}, to=None, channels=None):
475468
"change_flags" : None,
476469
"req_telemetry" : None,
477470
"req_binary" : None,
478-
})
471+
}
479472

480-
if to['type'] == 1 :
481-
completion_list.update({
482-
"get" : {
483-
"timeout":None,
484-
},
485-
"set" : {
486-
"timeout":None,
487-
},
488-
})
473+
client_completion_list = dict(contact_completion_list)
474+
client_completion_list.update({
475+
"get" : { "timeout":None, },
476+
"set" : { "timeout":None, },
477+
})
489478

490-
if to['type'] > 1 : # repeaters and room servers
491-
completion_list.update({
479+
repeater_completion_list = dict(contact_completion_list)
480+
repeater_completion_list.update({
492481
"login" : None,
493482
"logout" : None,
494483
"req_status" : None,
@@ -563,19 +552,29 @@ def make_completion_dict(contacts, pending={}, to=None, channels=None):
563552
},
564553
"erase": None,
565554
"log" : {"start" : None, "stop" : None, "erase" : None}
566-
})
555+
})
567556

568-
if (to['type'] == 4) : #specific to sensors
569-
completion_list.update({
570-
"req_mma":{"begin end":None},
571-
})
557+
sensor_completion_list = dict(repeater_completion_list)
558+
sensor_completion_list.update({"req_mma":{"begin end":None}})
559+
sensor_completion_list["get"].update({ "mma":None, })
560+
561+
if to is None :
562+
completion_list.update(dict(root_completion_list))
563+
completion_list["set"].update(make_completion_dict.custom_vars)
564+
completion_list["get"].update(make_completion_dict.custom_vars)
565+
else :
566+
completion_list.update({
567+
"send" : None,
568+
})
572569

573-
completion_list["get"].update({
574-
"mma":None,
575-
})
570+
if to['type'] == 1 :
571+
completion_list.update(client_completion_list)
576572

577-
completion_list["set"].update({
578-
})
573+
if to['type'] > 1 : # repeaters and room servers
574+
completion_list.update(repeater_completion_list)
575+
576+
if (to['type'] == 4) : #specific to sensors
577+
completion_list.update(sensor_completion_list)
579578

580579
completion_list.update({
581580
"script" : None,

0 commit comments

Comments
 (0)