diff options
Diffstat (limited to 'extras/cliutils')
| -rw-r--r-- | extras/cliutils/README.md | 6 | ||||
| -rw-r--r-- | extras/cliutils/__init__.py | 26 | ||||
| -rw-r--r-- | extras/cliutils/cliutils.py | 12 |
3 files changed, 26 insertions, 18 deletions
diff --git a/extras/cliutils/README.md b/extras/cliutils/README.md index ccb60802c3d..309beb1ca25 100644 --- a/extras/cliutils/README.md +++ b/extras/cliutils/README.md @@ -81,7 +81,7 @@ to address the following issues Create a file in `$LIBEXEC/glusterfs/peer_message.py` with following content. - #!/usr/bin/env python + #!/usr/bin/python3 from gluster.cliutils import Cmd, runcli, execute_in_peers, node_output_ok class NodeHello(Cmd): @@ -149,7 +149,7 @@ Now users can use `gluster-message` instead of calling Following example uses prettytable library, which can be installed using `pip install prettytable` or `dnf install python-prettytable` - #!/usr/bin/env python + #!/usr/bin/python3 from prettytable import PrettyTable from gluster.cliutils import Cmd, runcli, execute_in_peers, node_output_ok @@ -221,7 +221,7 @@ required.(Under `%files` section) - gluster-mountbroker http://review.gluster.org/14544 - gluster-eventsapi http://review.gluster.org/14248 - gluster-georep-sshkey http://review.gluster.org/14732 -- gluster-restapi https://github.com/aravindavk/glusterfs-restapi +- gluster-restapi https://github.com/gluster/restapi ## Limitations/TODOs - Not yet possible to create CLI without any subcommand, For example diff --git a/extras/cliutils/__init__.py b/extras/cliutils/__init__.py index 9c930982be0..8765cc85099 100644 --- a/extras/cliutils/__init__.py +++ b/extras/cliutils/__init__.py @@ -1,18 +1,18 @@ # -*- coding: utf-8 -*- # Reexporting the utility funcs and classes -from cliutils import (runcli, - sync_file_to_peers, - execute_in_peers, - execute, - node_output_ok, - node_output_notok, - output_error, - oknotok, - yesno, - get_node_uuid, - Cmd, - GlusterCmdException, - set_common_args_func) +from .cliutils import (runcli, + sync_file_to_peers, + execute_in_peers, + execute, + node_output_ok, + node_output_notok, + output_error, + oknotok, + yesno, + get_node_uuid, + Cmd, + GlusterCmdException, + set_common_args_func) # This will be useful when `from cliutils import *` diff --git a/extras/cliutils/cliutils.py b/extras/cliutils/cliutils.py index d805ac6d100..55fbaf56704 100644 --- a/extras/cliutils/cliutils.py +++ b/extras/cliutils/cliutils.py @@ -20,7 +20,14 @@ _common_args_func = lambda p: True class GlusterCmdException(Exception): - pass + def __init__(self, message): + self.message = message + try: + # Python 3 + super().__init__(message) + except TypeError: + # Python 2 + super(GlusterCmdException, self).__init__(message) def get_node_uuid(): @@ -71,7 +78,8 @@ def node_output_notok(message): def execute(cmd): - p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, + universal_newlines=True) out, err = p.communicate() return p.returncode, out, err |
