meshcore-cli 0.8.0.dev3__tar.gz → 0.8.0.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcore-cli
3
- Version: 0.8.0.dev3
3
+ Version: 0.8.0.dev5
4
4
  Summary: Command line interface to meshcore companion radios
5
5
  Project-URL: Homepage, https://github.com/fdlamotte/meshcore-cli
6
6
  Project-URL: Issues, https://github.com/fdlamotte/meshcore-cli/issues
@@ -10,7 +10,7 @@ License-File: LICENSE
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Requires-Python: >=3.10
13
- Requires-Dist: meshcore>=1.9.8.dev3
13
+ Requires-Dist: meshcore>=1.9.8.dev5
14
14
  Requires-Dist: prompt-toolkit>=3.0.50
15
15
  Requires-Dist: requests>=2.28.0
16
16
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "meshcore-cli"
7
- version = "0.8.0.dev3"
7
+ version = "0.8.0.dev5"
8
8
  authors = [
9
9
  { name="Florent de Lamotte", email="florent@frizoncorrea.fr" },
10
10
  ]
@@ -17,7 +17,7 @@ classifiers = [
17
17
  ]
18
18
  license = "MIT"
19
19
  license-files = ["LICEN[CS]E*"]
20
- dependencies = [ "meshcore >= 1.9.8.dev3", "prompt_toolkit >= 3.0.50", "requests >= 2.28.0" ]
20
+ dependencies = [ "meshcore >= 1.9.8.dev5", "prompt_toolkit >= 3.0.50", "requests >= 2.28.0" ]
21
21
 
22
22
  [project.urls]
23
23
  Homepage = "https://github.com/fdlamotte/meshcore-cli"
@@ -239,6 +239,7 @@ def make_completion_dict(contacts, to=None):
239
239
  "reset_path" : contact_list,
240
240
  "change_path" : contact_list,
241
241
  "remove_contact" : contact_list,
242
+ "import_contact" : {"meshcore://":None},
242
243
  "login" : contact_list,
243
244
  "cmd" : contact_list,
244
245
  "req_status" : contact_list,
@@ -258,23 +259,23 @@ def make_completion_dict(contacts, to=None):
258
259
  "color" : {"on":None, "off":None},
259
260
  "print_name" : {"on":None, "off":None},
260
261
  "classic_prompt" : {"on" : None, "off":None},
261
- "manual_add_contact" : {"on" : None, "off":None},
262
+ "manual_add_contacts" : {"on" : None, "off":None},
262
263
  "telemetry_mode_base" : {"always" : None, "device":None, "never":None},
263
264
  "telemetry_mode_loc" : {"always" : None, "device":None, "never":None},
264
265
  },
265
- "get" : {"name" : None,
266
- "bat" : None,
267
- "radio" : None,
268
- "tx" : None,
269
- "coords" : None,
270
- "lat" : None,
271
- "lon" : None,
272
- "print_snr" : None,
266
+ "get" : {"name":None,
267
+ "bat":None,
268
+ "radio":None,
269
+ "tx":None,
270
+ "coords":None,
271
+ "lat":None,
272
+ "lon":None,
273
+ "print_snr":None,
273
274
  "json_msgs":None,
274
275
  "color":None,
275
276
  "print_name":None,
276
277
  "classic_prompt":None,
277
- "manual_add_contact":None,
278
+ "manual_add_contacts":None,
278
279
  "telemetry_mode_base":None,
279
280
  "telemetry_mode_loc":None,
280
281
  },
@@ -807,7 +808,7 @@ async def next_cmd(mc, cmds, json_output=False):
807
808
  else:
808
809
  print("ok")
809
810
  case "manual_add_contacts":
810
- mac = (cmds[2] == "on") or (cmds[2] == "true") or (cmds[2] == "1")
811
+ mac = (cmds[2] == "on") or (cmds[2] == "true") or (cmds[2] == "yes") or (cmds[2] == "1")
811
812
  res = await mc.commands.set_manual_add_contacts(mac)
812
813
  if res.type == EventType.ERROR:
813
814
  print(f"Error : {res}")
@@ -950,7 +951,7 @@ async def next_cmd(mc, cmds, json_output=False):
950
951
  else :
951
952
  print(f"telemetry_mode_base: {mc.self_info['telemetry_mode_base']}")
952
953
  case "telemetry_mode_loc" :
953
- await mc.commands.sent_appstart()
954
+ await mc.commands.send_appstart()
954
955
  if json_output :
955
956
  print(json.dumps({"telemetry_mode_loc" : mc.self_info["telemetry_mode_loc"]}))
956
957
  else :
@@ -1240,6 +1241,16 @@ async def next_cmd(mc, cmds, json_output=False):
1240
1241
  else :
1241
1242
  print(res.payload['uri'])
1242
1243
 
1244
+ case "import_contact"|"ic":
1245
+ argnum = 1
1246
+ if cmds[1].startswith("meshcore://") :
1247
+ res = await mc.commands.import_contact(bytes.fromhex(cmds[1][11:]))
1248
+ logger.debug(res)
1249
+ if res.type == EventType.ERROR:
1250
+ print(f"Error while importing contact: {res}")
1251
+ else:
1252
+ logger.info("Contact successfully added, refresh with lc")
1253
+
1243
1254
  case "upload_contact" | "uc" :
1244
1255
  argnum = 1
1245
1256
  await mc.ensure_contacts()