Soft Patch Panel
 help / color / mirror / Atom feed
From: yasufum.o@gmail.com
To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com
Subject: [spp] [PATCH 08/10] controller: move topo help msg to SppBye
Date: Mon, 24 Jun 2019 16:11:22 +0900	[thread overview]
Message-ID: <20190624071124.23451-9-yasufum.o@gmail.com> (raw)
In-Reply-To: <20190624071124.23451-1-yasufum.o@gmail.com>

From: Yasufumi Ogawa <yasufum.o@gmail.com>

This patch is to move comment of `do_topo`, `do_topo_subgraph` and
`do_topo_resize` to `SppTopo.help` to reduce the number of lines.

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
---
 src/controller/commands/topo.py | 52 ++++++++++++++++++++++++++++
 src/controller/shell.py         | 61 +++++++++------------------------
 2 files changed, 68 insertions(+), 45 deletions(-)

diff --git a/src/controller/commands/topo.py b/src/controller/commands/topo.py
index 3b24c1a..21ef1ec 100644
--- a/src/controller/commands/topo.py
+++ b/src/controller/commands/topo.py
@@ -459,3 +459,55 @@ class SppTopo(object):
             return True
         else:
             return False
+
+    @classmethod
+    def help(cls):
+        msg = """Output network topology.
+
+        Support four types of output.
+        * terminal (but very few terminals supporting to display images)
+        * browser (websocket server is required)
+        * image file (jpg, png, bmp)
+        * text (dot, js or json, yml or yaml)
+
+        spp > topo term  # terminal
+        spp > topo http  # browser
+        spp > topo network_conf.jpg  # image
+        spp > topo network_conf.dot  # text
+        spp > topo network_conf.js# text
+        """
+
+        print(msg)
+
+    @classmethod
+    def help_resize(cls):
+        msg = """Change the size of the image of topo command.
+
+        You can specify the size by percentage or ratio.
+
+        spp > topo resize 60%  # percentage
+        spp > topo resize 0.6  # ratio
+        """
+
+        print(msg)
+
+    @classmethod
+    def help_subgraph(cls):
+        msg = """Edit subgarph for topo command.
+
+        Subgraph is a group of object defined in dot language. For topo
+        command, it is used for grouping resources of each of VM or
+        container to topology be more understandable.
+
+        (1) Add subgraph labeled 'vm1'.
+            spp > topo_subgraph add vm1 vhost:1;vhost:2
+
+        (2) Delete subgraph 'vm1'.
+            spp > topo_subgraph del vm1
+
+        (3) Show subgraphs by running topo_subgraph without args.
+            spp > topo_subgraph
+            label: vm1	subgraph: "vhost:1;vhost:2"
+        """
+
+        print(msg)
diff --git a/src/controller/shell.py b/src/controller/shell.py
index 8cb74a0..54376c9 100644
--- a/src/controller/shell.py
+++ b/src/controller/shell.py
@@ -824,11 +824,7 @@ class Shell(cmd.Cmd, object):
         {'cmdqueue': [],
          'completekey': 'tab',
          'completion_matches': ['inspect'],
-         'lastcmd': 'inspect',
-         'old_completer': None,
-         'stdin': <open file '<stdin>', mode 'r' at 0x7fe96bddf0c0>,
-         'stdout': <open file '<stdout>', mode 'w' at 0x7fe96bddf150>}
-
+         ...
         """
 
         from pprint import pprint
@@ -841,22 +837,7 @@ class Shell(cmd.Cmd, object):
         return ['add', 'del']
 
     def do_topo_subgraph(self, args):
-        """Edit subgarph for topo command.
-
-        Subgraph is a group of object defined in dot language. For topo
-        command, it is used for grouping resources of each of VM or
-        container to topology be more understandable.
-
-        (1) Add subgraph labeled 'vm1'.
-        spp > topo_subgraph add vm1 vhost:1;vhost:2
-
-        (2) Delete subgraph 'vm1'.
-        spp > topo_subgraph del vm1
-
-        (3) Show subgraphs by running topo_subgraph without args.
-        spp > topo_subgraph
-        label: vm1	subgraph: "vhost:1;vhost:2"
-        """
+        """Edit subgarph for topo command."""
 
         # logger.info("Topo initialized with sec IDs %s" % sec_ids)
 
@@ -897,6 +878,10 @@ class Shell(cmd.Cmd, object):
             else:
                 print("Ivalid subcommand '%s'!" % tokens[0])
 
+    def help_topo_subgraph(self):
+        """Print help message of topo_subgraph command."""
+        topo.SppTopo.help_subgraph()
+
     def complete_topo_subgraph(self, text, line, begidx, endidx):
         terms = self.terms_topo_subgraph()
 
@@ -921,35 +906,21 @@ class Shell(cmd.Cmd, object):
             pass
 
     def do_topo_resize(self, args):
-        """Change the size of the image of topo command.
-
-        You can specify the size by percentage or ratio.
-
-        spp > topo resize 60%  # percentage
-        spp > topo resize 0.6  # ratio
-
-        """
-
+        """Change the size of the image of topo_resize command."""
         self.spp_topo.resize_graph(args)
 
-    def do_topo(self, args):
-        """Output network topology.
-
-        Support four types of output.
-        * terminal (but very few terminals supporting to display images)
-        * browser (websocket server is required)
-        * image file (jpg, png, bmp)
-        * text (dot, js or json, yml or yaml)
-
-        spp > topo term  # terminal
-        spp > topo http  # browser
-        spp > topo network_conf.jpg  # image
-        spp > topo network_conf.dot  # text
-        spp > topo network_conf.js# text
-        """
+    def help_topo_resize(self):
+        """Print help message of topo command."""
+        topo.SppTopo.help_resize()
 
+    def do_topo(self, args):
+        """Output network topology."""
         self.spp_topo.run(args, self.get_sec_ids('nfv'))
 
+    def help_topo(self):
+        """Print help message of topo command."""
+        topo.SppTopo.help()
+
     def complete_topo(self, text, line, begidx, endidx):
 
         return self.spp_topo.complete(text, line, begidx, endidx)
-- 
2.17.1


  parent reply	other threads:[~2019-06-24  7:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-24  7:11 [spp] [PATCH 00/10] Move help messages of CLI in shell.py yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 01/10] controller: move vf help msg to SppVf.help yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 02/10] controller: move server help msg to SppCtlServer yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 03/10] controller: move pri help msg to SppPrimary yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 04/10] controller: move nfv help msg to SppNfv yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 05/10] controller: move mirror help msg to SppMirror yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 06/10] controller: move pcap help msg to SppPcap yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 07/10] controller: move bye help msg to SppBye yasufum.o
2019-06-24  7:11 ` yasufum.o [this message]
2019-06-24  7:11 ` [spp] [PATCH 09/10] controller: move status cmd help msg to help_msg yasufum.o
2019-06-24  7:11 ` [spp] [PATCH 10/10] controller: move rest of " yasufum.o

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190624071124.23451-9-yasufum.o@gmail.com \
    --to=yasufum.o@gmail.com \
    --cc=ferruh.yigit@intel.com \
    --cc=spp@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).