-From 525122ade01998e34eabce74cb24d1c427c4b48d Mon Sep 17 00:00:00 2001
+From 1da7b980d05706c8d4e9bcb0d12965258a4fc709 Mon Sep 17 00:00:00 2001
From: Scott Murray <scott.murray@konsulko.com>
-Date: Wed, 21 Sep 2022 13:27:49 -0400
+Date: Thu, 6 Oct 2022 16:07:00 -0400
Subject: [PATCH] kuksa_viss_client: Update cmd2 completer usage
Update cmd2 usage to avoid using internal methods and fix breakage
with newer versions of the cmd2 module.
Upstream-Status: pending
+
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
- kuksa_viss_client/__main__.py | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
+ kuksa_viss_client/__main__.py | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/kuksa_viss_client/__main__.py b/kuksa_viss_client/__main__.py
-index 4d61433..d0b1af3 100755
+index 5e595f8..e5798b8 100755
--- a/kuksa_viss_client/__main__.py
+++ b/kuksa_viss_client/__main__.py
-@@ -14,7 +14,7 @@ from typing import Dict, List
- import queue, time, os
+@@ -23,7 +23,7 @@ from typing import Dict, List
+ import queue, time, os, threading
from pygments import highlight, lexers, formatters
from cmd2 import Cmd, with_argparser, with_category, Cmd2ArgumentParser, CompletionItem
-from cmd2.utils import CompletionError, basic_complete
import functools, subprocess
DEFAULT_SERVER_ADDR = "127.0.0.1"
DEFAULT_SERVER_PORT = 8090
-@@ -82,7 +82,7 @@ class TestClient(Cmd):
+@@ -103,7 +103,7 @@ class TestClient(Cmd):
+ if 'children' in child:
self.pathCompletionItems.append(CompletionItem(prefix + key+seperator, "Children of branch "+prefix+key))
-
- return basic_complete(text, line, begidx, endidx, self.pathCompletionItems)
+ return Cmd.basic_complete(self, text, line, begidx, endidx, self.pathCompletionItems)
def subscribeCallback(self, path, attr, resp):
- print(path, attr)
-@@ -93,7 +93,7 @@ class TestClient(Cmd):
+ self.subscribeFileDesc[(path,attr)].write(resp + "\n")
+@@ -113,7 +113,7 @@ class TestClient(Cmd):
self.pathCompletionItems = []
for id in self.subscribeIdToPath.keys():
self.pathCompletionItems.append(CompletionItem(id))
COMM_SETUP_COMMANDS = "Communication Set-up Commands"
VISS_COMMANDS = "Kuksa Interaction Commands"
-@@ -106,44 +106,44 @@ class TestClient(Cmd):
+@@ -126,45 +126,45 @@ class TestClient(Cmd):
ap_authorize = argparse.ArgumentParser()
tokenfile_completer_method = functools.partial(Cmd.path_complete,
path_filter=lambda path: (os.path.isdir(path) or path.endswith(".token")))
+ ap_authorize.add_argument('Token', help='JWT(or the file storing the token) for authorizing the client.', completer=tokenfile_completer_method)
ap_setServerAddr = argparse.ArgumentParser()
ap_setServerAddr.add_argument('IP', help='VISS Server IP Address', default=DEFAULT_SERVER_ADDR)
- ap_setServerAddr.add_argument('Port', type=int, help='VISS Server Websocket Port', default=DEFAULT_SERVER_PORT)
+ ap_setServerAddr.add_argument('Port', type=int, help='VISS Server Port', default=DEFAULT_SERVER_PORT)
+ ap_setServerAddr.add_argument('-p', "--protocol", help='VISS Server Communication Protocol (ws or grpc)', default=DEFAULT_SERVER_PROTOCOL)
ap_setValue = argparse.ArgumentParser()
- ap_setValue.add_argument("Path", help="Path to be set", completer_method=path_completer)
+ ap_setValue.add_argument("Path", help="Path to be set", completer=path_completer)
ap_setValue.add_argument("Value", help="Value to be set")
- ap_setValue.add_argument("Attribute", help="Attribute to be set", default="value", nargs=(0,1))
+ ap_setValue.add_argument("-a", "--attribute", help="Attribute to be set", default="value")
ap_getValue = argparse.ArgumentParser()
- ap_getValue.add_argument("Path", help="Path to be read", completer_method=path_completer)
+ ap_getValue.add_argument("Path", help="Path to be read", completer=path_completer)
- ap_getValue.add_argument("Attribute", help="Attribute to be get", default="value", nargs=(0,1))
+ ap_getValue.add_argument("-a", "--attribute", help="Attribute to be get", default="value")
ap_setTargetValue = argparse.ArgumentParser()
- ap_setTargetValue.add_argument("Path", help="Path whose target value to be set", completer_method=path_completer)
ap_subscribe = argparse.ArgumentParser()
- ap_subscribe.add_argument("Path", help="Path to be subscribed", completer_method=path_completer)
-- ap_subscribe.add_argument("Attribute", help="Attribute to be subscribed", default="value", completer_method=path_completer, nargs=(0,1))
+ ap_subscribe.add_argument("Path", help="Path to be subscribed", completer=path_completer)
-+ ap_subscribe.add_argument("Attribute", help="Attribute to be subscribed", default="value", completer=path_completer, nargs=(0,1))
+ ap_subscribe.add_argument("-a", "--attribute", help="Attribute to be subscribed", default="value")
ap_unsubscribe = argparse.ArgumentParser()
- ap_unsubscribe.add_argument("SubscribeId", help="Corresponding subscription Id", completer_method=subscriptionIdCompleter)
- ap_updateVSSTree.add_argument("Json", help="Json tree to update VSS", completer_method=jsonfile_completer_method)
+ ap_updateVSSTree.add_argument("Json", help="Json tree to update VSS", completer=jsonfile_completer_method)
-
# Constructor
+ def __init__(self):
--
2.37.3