diff options
-rwxr-xr-x | bin/keystone-manage | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/bin/keystone-manage b/bin/keystone-manage index 9729be09..5193a43a 100755 --- a/bin/keystone-manage +++ b/bin/keystone-manage @@ -83,6 +83,12 @@ class DbSync(BaseApp): class ClientCommand(BaseApp): ACTION_MAP = None + def _attr_name(self): + return '%ss' % self.__class__.__name__.lower() + + def _cmd_name(self): + return self.__class__.__name__.lower() + def __init__(self, *args, **kw): super(ClientCommand, self).__init__(*args, **kw) if not self.ACTION_MAP: @@ -90,7 +96,7 @@ class ClientCommand(BaseApp): self.add_param('action', nargs='?', default='help') self.add_param('keyvalues', nargs='*') self.client = kc.Client(CONF.endpoint, token=CONF.auth_token) - self.handle = getattr(self.client, '%ss' % self.__class__.__name__.lower()) + self.handle = getattr(self.client, self._attr_name()) self._build_action_map() def _build_action_map(self): @@ -122,7 +128,7 @@ class ClientCommand(BaseApp): def print_help(self): CONF.set_usage(CONF.usage.replace( - 'COMMAND', '%s SUBCOMMAND' % self.__class__.__name__.lower())) + 'COMMAND', '%s SUBCOMMAND' % self._cmd_name())) CONF.print_help() methods = self._get_methods() @@ -166,7 +172,8 @@ class User(ClientCommand): class Ec2(ClientCommand): - pass + def _attr_name(self): + return self.__class__.__name__.lower() CMDS = {'db_sync': DbSync, |