Cleanup manilaclient.utils module (part 2)

Remove functions 'arg', 'env' and 'add_arg' from
manilaclient.utils and use same functions from cliutils instead.

Partially implements: blueprint use-common-code

Change-Id: Ib41250d527c5949cdfb7c6956703ff4b371a062b
This commit is contained in:
vponomaryov
2014-07-15 15:38:51 +03:00
committed by Valeriy Ponomaryov
parent b11f5d78a2
commit 4a7e7cf089
4 changed files with 315 additions and 296 deletions

View File

@@ -24,6 +24,7 @@ import hashlib
import os import os
from manilaclient import exceptions from manilaclient import exceptions
from manilaclient.openstack.common import cliutils
from manilaclient import utils from manilaclient import utils
@@ -84,13 +85,13 @@ class Manager(utils.HookableMixin):
Delete is not handled because listings are assumed to be performed Delete is not handled because listings are assumed to be performed
often enough to keep the cache reasonably up-to-date. often enough to keep the cache reasonably up-to-date.
""" """
base_dir = utils.env('manilaclient_UUID_CACHE_DIR', base_dir = cliutils.env('manilaclient_UUID_CACHE_DIR',
default="~/.manilaclient") default="~/.manilaclient")
# NOTE(sirp): Keep separate UUID caches for each username + endpoint # NOTE(sirp): Keep separate UUID caches for each username + endpoint
# pair # pair
username = utils.env('OS_USERNAME', 'MANILA_USERNAME') username = cliutils.env('OS_USERNAME', 'MANILA_USERNAME')
url = utils.env('OS_URL', 'MANILA_URL') url = cliutils.env('OS_URL', 'MANILA_URL')
uniqifier = hashlib.md5(username.encode('utf-8') + uniqifier = hashlib.md5(username.encode('utf-8') +
url.encode('utf-8')).hexdigest() url.encode('utf-8')).hexdigest()

View File

@@ -38,7 +38,6 @@ from manilaclient import exceptions as exc
import manilaclient.extension import manilaclient.extension
from manilaclient.openstack.common import cliutils from manilaclient.openstack.common import cliutils
from manilaclient.openstack.common import strutils from manilaclient.openstack.common import strutils
from manilaclient import utils
from manilaclient.v1 import shell as shell_v1 from manilaclient.v1 import shell as shell_v1
# from manilaclient.v2 import shell as shell_v2 # from manilaclient.v2 import shell as shell_v2
@@ -195,7 +194,7 @@ class SecretsHelper(object):
password = self.args.os_password password = self.args.os_password
else: else:
verify_pass = strutils.bool_from_string( verify_pass = strutils.bool_from_string(
utils.env("OS_VERIFY_PASSWORD", default=False)) cliutils.env("OS_VERIFY_PASSWORD", default=False))
password = self._prompt_password(verify_pass) password = self._prompt_password(verify_pass)
if not password: if not password:
raise exc.CommandError( raise exc.CommandError(
@@ -276,12 +275,12 @@ class OpenStackManilaShell(object):
parser.add_argument('--debug', parser.add_argument('--debug',
action='store_true', action='store_true',
default=utils.env('manilaclient_DEBUG', default=cliutils.env('manilaclient_DEBUG',
default=False), default=False),
help="Print debugging output") help="Print debugging output")
parser.add_argument('--os-cache', parser.add_argument('--os-cache',
default=utils.env('OS_CACHE', default=False), default=cliutils.env('OS_CACHE', default=False),
action='store_true', action='store_true',
help='Use the auth token cache. ' help='Use the auth token cache. '
'Defaults to env[OS_CACHE].') 'Defaults to env[OS_CACHE].')
@@ -293,48 +292,48 @@ class OpenStackManilaShell(object):
parser.add_argument('--os-username', parser.add_argument('--os-username',
metavar='<auth-user-name>', metavar='<auth-user-name>',
default=utils.env('OS_USERNAME', default=cliutils.env('OS_USERNAME',
'MANILA_USERNAME'), 'MANILA_USERNAME'),
help='Defaults to env[OS_USERNAME].') help='Defaults to env[OS_USERNAME].')
parser.add_argument('--os_username', parser.add_argument('--os_username',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--os-password', parser.add_argument('--os-password',
metavar='<auth-password>', metavar='<auth-password>',
default=utils.env('OS_PASSWORD', default=cliutils.env('OS_PASSWORD',
'MANILA_PASSWORD'), 'MANILA_PASSWORD'),
help='Defaults to env[OS_PASSWORD].') help='Defaults to env[OS_PASSWORD].')
parser.add_argument('--os_password', parser.add_argument('--os_password',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--os-tenant-name', parser.add_argument('--os-tenant-name',
metavar='<auth-tenant-name>', metavar='<auth-tenant-name>',
default=utils.env('OS_TENANT_NAME', default=cliutils.env('OS_TENANT_NAME',
'MANILA_PROJECT_ID'), 'MANILA_PROJECT_ID'),
help='Defaults to env[OS_TENANT_NAME].') help='Defaults to env[OS_TENANT_NAME].')
parser.add_argument('--os_tenant_name', parser.add_argument('--os_tenant_name',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--os-tenant-id', parser.add_argument('--os-tenant-id',
metavar='<auth-tenant-id>', metavar='<auth-tenant-id>',
default=utils.env('OS_TENANT_ID', default=cliutils.env('OS_TENANT_ID',
'MANILA_TENANT_ID'), 'MANILA_TENANT_ID'),
help='Defaults to env[OS_TENANT_ID].') help='Defaults to env[OS_TENANT_ID].')
parser.add_argument('--os_tenant_id', parser.add_argument('--os_tenant_id',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--os-auth-url', parser.add_argument('--os-auth-url',
metavar='<auth-url>', metavar='<auth-url>',
default=utils.env('OS_AUTH_URL', default=cliutils.env('OS_AUTH_URL',
'MANILA_URL'), 'MANILA_URL'),
help='Defaults to env[OS_AUTH_URL].') help='Defaults to env[OS_AUTH_URL].')
parser.add_argument('--os_auth_url', parser.add_argument('--os_auth_url',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--os-region-name', parser.add_argument('--os-region-name',
metavar='<region-name>', metavar='<region-name>',
default=utils.env('OS_REGION_NAME', default=cliutils.env('OS_REGION_NAME',
'MANILA_REGION_NAME'), 'MANILA_REGION_NAME'),
help='Defaults to env[OS_REGION_NAME].') help='Defaults to env[OS_REGION_NAME].')
parser.add_argument('--os_region_name', parser.add_argument('--os_region_name',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
@@ -347,21 +346,21 @@ class OpenStackManilaShell(object):
parser.add_argument('--service-name', parser.add_argument('--service-name',
metavar='<service-name>', metavar='<service-name>',
default=utils.env('MANILA_SERVICE_NAME'), default=cliutils.env('MANILA_SERVICE_NAME'),
help='Defaults to env[MANILA_SERVICE_NAME]') help='Defaults to env[MANILA_SERVICE_NAME]')
parser.add_argument('--service_name', parser.add_argument('--service_name',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--share-service-name', parser.add_argument('--share-service-name',
metavar='<share-service-name>', metavar='<share-service-name>',
default=utils.env('MANILA_share_service_name'), default=cliutils.env('MANILA_share_service_name'),
help='Defaults to env[MANILA_share_service_name]') help='Defaults to env[MANILA_share_service_name]')
parser.add_argument('--share_service_name', parser.add_argument('--share_service_name',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--endpoint-type', parser.add_argument('--endpoint-type',
metavar='<endpoint-type>', metavar='<endpoint-type>',
default=utils.env( default=cliutils.env(
'MANILA_ENDPOINT_TYPE', 'MANILA_ENDPOINT_TYPE',
default=DEFAULT_MANILA_ENDPOINT_TYPE), default=DEFAULT_MANILA_ENDPOINT_TYPE),
help='Defaults to env[MANILA_ENDPOINT_TYPE] or ' help='Defaults to env[MANILA_ENDPOINT_TYPE] or '
@@ -371,7 +370,7 @@ class OpenStackManilaShell(object):
parser.add_argument('--os-share-api-version', parser.add_argument('--os-share-api-version',
metavar='<compute-api-ver>', metavar='<compute-api-ver>',
default=utils.env( default=cliutils.env(
'OS_SHARE_API_VERSION', 'OS_SHARE_API_VERSION',
default=DEFAULT_OS_SHARE_API_VERSION), default=DEFAULT_OS_SHARE_API_VERSION),
help='Accepts 1 or 2,defaults ' help='Accepts 1 or 2,defaults '
@@ -381,14 +380,14 @@ class OpenStackManilaShell(object):
parser.add_argument('--os-cacert', parser.add_argument('--os-cacert',
metavar='<ca-certificate>', metavar='<ca-certificate>',
default=utils.env('OS_CACERT', default=None), default=cliutils.env('OS_CACERT', default=None),
help='Specify a CA bundle file to use in ' help='Specify a CA bundle file to use in '
'verifying a TLS (https) server certificate. ' 'verifying a TLS (https) server certificate. '
'Defaults to env[OS_CACERT]') 'Defaults to env[OS_CACERT]')
parser.add_argument('--insecure', parser.add_argument('--insecure',
default=utils.env('manilaclient_INSECURE', default=cliutils.env('manilaclient_INSECURE',
default=False), default=False),
action='store_true', action='store_true',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
@@ -637,8 +636,8 @@ class OpenStackManilaShell(object):
commands.remove('bash_completion') commands.remove('bash_completion')
print(' '.join(commands | options)) print(' '.join(commands | options))
@utils.arg('command', metavar='<subcommand>', nargs='?', @cliutils.arg('command', metavar='<subcommand>', nargs='?',
help='Display help for <subcommand>') help='Display help for <subcommand>')
def do_help(self, args): def do_help(self, args):
"""Display help about this program or one of its subcommands.""" """Display help about this program or one of its subcommands."""
if args.command: if args.command:

View File

@@ -12,7 +12,6 @@
from __future__ import print_function from __future__ import print_function
import os
import sys import sys
import prettytable import prettytable
@@ -21,41 +20,6 @@ import six
from manilaclient.openstack.common import strutils from manilaclient.openstack.common import strutils
def arg(*args, **kwargs):
"""Decorator for CLI args."""
def _decorator(func):
add_arg(func, *args, **kwargs)
return func
return _decorator
def env(*vars, **kwargs):
"""Returns value of env var if exist.
Returns the first environment variable set if none are non-empty,
defaults to '' or keyword arg default.
"""
for v in vars:
value = os.environ.get(v, None)
if value:
return value
return kwargs.get('default', '')
def add_arg(f, *args, **kwargs):
"""Bind CLI arguments to a shell.py `do_foo` function."""
if not hasattr(f, 'arguments'):
f.arguments = []
# NOTE(sirp): avoid dups that can occur when the module is shared across
# tests.
if (args, kwargs) not in f.arguments:
# Because of the sematics of decorator composition if we just append
# to the options list positional options will appear to be backwards.
f.arguments.insert(0, (args, kwargs))
def _print(pt, order): def _print(pt, order):
if sys.version_info >= (3, 0): if sys.version_info >= (3, 0):
print(pt.get_string(sortby=order)) print(pt.get_string(sortby=order))

File diff suppressed because it is too large Load Diff