aboutsummaryrefslogtreecommitdiffstats
path: root/moonclient/moonclient/shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'moonclient/moonclient/shell.py')
-rw-r--r--moonclient/moonclient/shell.py53
1 files changed, 13 insertions, 40 deletions
diff --git a/moonclient/moonclient/shell.py b/moonclient/moonclient/shell.py
index f3d87ba3..d1d02518 100644
--- a/moonclient/moonclient/shell.py
+++ b/moonclient/moonclient/shell.py
@@ -11,42 +11,7 @@ import os
from cliff.app import App
from cliff.commandmanager import CommandManager
-from cliff.formatters.base import ListFormatter, SingleFormatter
-
-
-class _JSONFormatter(ListFormatter, SingleFormatter):
-
- def add_argument_group(self, parser):
- group = parser.add_argument_group(title='json formatter')
- group.add_argument(
- '--noindent',
- action='store_true',
- dest='noindent',
- help='whether to disable indenting the JSON'
- )
- group.add_argument(
- '--projectname',
- help='Set the project name'
- )
-
- def emit_list(self, column_names, data, stdout, parsed_args):
- items = []
- import time
- for item in data:
- element = dict(zip(column_names, item))
- element["project_name"] = parsed_args.projectname
- element["name"] = element.pop("test_name")
- element["url"] = ""
- element["_id"] = ""
- element["creation_date"] = time.strftime("%Y-%m-%d %H:%M:%S")
- items.append(element)
- indent = None if parsed_args.noindent else 2
- json.dump({"testcases": items}, stdout, indent=indent)
-
- def emit_one(self, column_names, data, stdout, parsed_args):
- one = dict(zip(column_names, data))
- indent = None if parsed_args.noindent else 2
- json.dump(one, stdout, indent=indent)
+import moonclient
def get_env_creds(admin_token=False):
@@ -76,6 +41,7 @@ class MoonClient(App):
secureprotocol = False
user_saving_file = ".moonclient"
url_prefix = "/moon"
+ _nb_error = 0
post = {
"auth": {
"identity": {
@@ -106,7 +72,7 @@ class MoonClient(App):
def __init__(self):
super(MoonClient, self).__init__(
description='Moon Python Client',
- version='0.2.0',
+ version=moonclient.__version__,
command_manager=CommandManager('moon.client'),
)
creds = get_env_creds()
@@ -165,6 +131,14 @@ class MoonClient(App):
self._intraextension = value
open(os.path.join(os.getenv('HOME'), self.user_saving_file), "w").write(value)
+ @property
+ def nb_error(self):
+ return self._nb_error
+
+ def incr_error(self):
+ self._nb_error += 1
+ print("INCREMENTING ERRORS {}".format(self._nb_error))
+
def get_tenant_uuid(self, tenant_name):
return self.get_url("/v3/projects?name={}".format(tenant_name), authtoken=True, port=5000)["projects"][0]["id"]
@@ -266,8 +240,6 @@ class MoonClient(App):
data = self.get_url("/v3/auth/tokens", post_data=self.post)
if "token" not in data:
raise Exception("Authentication problem ({})".format(data))
- from cliff.formatters.json_format import JSONFormatter
- JSONFormatter = _JSONFormatter
def prepare_to_run_command(self, cmd):
self.log.debug('prepare_to_run_command %s', cmd.__class__.__name__)
@@ -281,7 +253,8 @@ class MoonClient(App):
def main(argv=sys.argv[1:]):
myapp = MoonClient()
- return myapp.run(argv)
+ myapp.run(argv)
+ return myapp.nb_error
if __name__ == '__main__':