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):
secureprotocol = False
user_saving_file = ".moonclient"
url_prefix = "/moon"
+ _nb_error = 0
post = {
"auth": {
"identity": {
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()
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"]
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__)
def main(argv=sys.argv[1:]):
myapp = MoonClient()
- return myapp.run(argv)
+ myapp.run(argv)
+ return myapp.nb_error
if __name__ == '__main__':
# This software is distributed under the terms and conditions of the 'Apache-2.0'
# license which can be found in the file 'LICENSE' in this package distribution
# or at 'http://www.apache.org/licenses/LICENSE-2.0'.
+from setuptools import setup, find_packages
+from moonclient import __version__
PROJECT = 'python-moonclient'
# Change docs/sphinx/conf.py too!
-VERSION = '0.1'
-
-from setuptools import setup, find_packages
+VERSION = __version__
try:
long_description = open('README.rst', 'rt').read()