vmm
changeset 157 eb3ccf9484b3
parent 156 a849843115e9
child 162 0ac9ef587769
equal deleted inserted replaced
156:a849843115e9 157:eb3ccf9484b3
   226                 _printList(infos[3], _(u'aliases'))
   226                 _printList(infos[3], _(u'aliases'))
   227                 _printList(infos[4], _(u'relocated users'))
   227                 _printList(infos[4], _(u'relocated users'))
   228     except VMME.VMMDomainException, e:
   228     except VMME.VMMDomainException, e:
   229         if e.code() is ERR.DOMAIN_ALIAS_EXISTS:
   229         if e.code() is ERR.DOMAIN_ALIAS_EXISTS:
   230             w_std(plan_a_b % {'subcommand': u'aliasdomaininfo',
   230             w_std(plan_a_b % {'subcommand': u'aliasdomaininfo',
   231                 'address': argv[2].lower()})
   231                 'object': argv[2].lower()})
   232             alias_domain_info()
   232             alias_domain_info()
   233         else:
   233         else:
   234             raise e
   234             raise e
   235 
   235 
   236 def domain_transport():
   236 def domain_transport():
   258     try:
   258     try:
   259         _printAliasDomInfo(vmm.aliasDomainInfo(argv[2].lower()))
   259         _printAliasDomInfo(vmm.aliasDomainInfo(argv[2].lower()))
   260     except VMME.VMMAliasDomainException, e:
   260     except VMME.VMMAliasDomainException, e:
   261         if e.code() is ERR.ALIASDOMAIN_ISDOMAIN:
   261         if e.code() is ERR.ALIASDOMAIN_ISDOMAIN:
   262             w_std(plan_a_b % {'subcommand': u'domaininfo',
   262             w_std(plan_a_b % {'subcommand': u'domaininfo',
   263                 'address': argv[2].lower()})
   263                 'object': argv[2].lower()})
   264             argv[1] = u'di' # necessary manipulation to get the order
   264             argv[1] = u'di' # necessary manipulation to get the order
   265             domain_info()
   265             domain_info()
   266         else:
   266         else:
   267             raise e
   267             raise e
   268 
   268 
   313             else:
   313             else:
   314                 _printInfo(info, u'Account')
   314                 _printInfo(info, u'Account')
   315     except VMME.VMMAccountException, e:
   315     except VMME.VMMAccountException, e:
   316         if e.code() is ERR.ALIAS_EXISTS:
   316         if e.code() is ERR.ALIAS_EXISTS:
   317             w_std(plan_a_b % {'subcommand': u'aliasinfo',
   317             w_std(plan_a_b % {'subcommand': u'aliasinfo',
   318                 'address': argv[2].lower()})
   318                 'object': argv[2].lower()})
   319             alias_info()
   319             alias_info()
   320         elif e.code() is ERR.RELOCATED_EXISTS:
   320         elif e.code() is ERR.RELOCATED_EXISTS:
   321             w_std(plan_a_b % {'subcommand': u'relocatedinfo',
   321             w_std(plan_a_b % {'subcommand': u'relocatedinfo',
   322                 'address': argv[2].lower()})
   322                 'object': argv[2].lower()})
   323             relocated_info()
   323             relocated_info()
   324         else:
   324         else:
   325             raise e
   325             raise e
   326 
   326 
   327 def user_name():
   327 def user_name():
   379     try:
   379     try:
   380         _printAliases(argv[2].lower(), vmm.aliasInfo(argv[2].lower()))
   380         _printAliases(argv[2].lower(), vmm.aliasInfo(argv[2].lower()))
   381     except VMME.VMMAliasException, e:
   381     except VMME.VMMAliasException, e:
   382         if e.code() is ERR.ACCOUNT_EXISTS:
   382         if e.code() is ERR.ACCOUNT_EXISTS:
   383             w_std(plan_a_b % {'subcommand': u'userinfo',
   383             w_std(plan_a_b % {'subcommand': u'userinfo',
   384                 'address': argv[2].lower()})
   384                 'object': argv[2].lower()})
   385             argv[1] = u'ui' # necessary manipulation to get the order
   385             argv[1] = u'ui' # necessary manipulation to get the order
   386             user_info()
   386             user_info()
   387         elif e.code() is ERR.RELOCATED_EXISTS:
   387         elif e.code() is ERR.RELOCATED_EXISTS:
   388             w_std(plan_a_b % {'subcommand': u'relocatedinfo',
   388             w_std(plan_a_b % {'subcommand': u'relocatedinfo',
   389                 'address': argv[2].lower()})
   389                 'object': argv[2].lower()})
   390             relocated_info()
   390             relocated_info()
   391         else:
   391         else:
   392             raise e
   392             raise e
   393 
   393 
   394 def alias_delete():
   394 def alias_delete():
   415     try:
   415     try:
   416         _printRelocated({'addr': relocated,
   416         _printRelocated({'addr': relocated,
   417             'dest': vmm.relocatedInfo(relocated)})
   417             'dest': vmm.relocatedInfo(relocated)})
   418     except VMME.VMMRelocatedException, e:
   418     except VMME.VMMRelocatedException, e:
   419         if e.code() is ERR.ACCOUNT_EXISTS:
   419         if e.code() is ERR.ACCOUNT_EXISTS:
   420             w_std(plan_a_b % {'subcommand': u'userinfo', 'address': relocated})
   420             w_std(plan_a_b % {'subcommand': u'userinfo', 'object': relocated})
   421             argv[1] = u'ui' # necessary manipulation to get the order
   421             argv[1] = u'ui' # necessary manipulation to get the order
   422             user_info()
   422             user_info()
   423         elif e.code() is ERR.ALIAS_EXISTS:
   423         elif e.code() is ERR.ALIAS_EXISTS:
   424             w_std(plan_a_b % {'subcommand': u'aliasinfo', 'address': relocated})
   424             w_std(plan_a_b % {'subcommand': u'aliasinfo', 'object': relocated})
   425             alias_info()
   425             alias_info()
   426         else:
   426         else:
   427             raise e
   427             raise e
   428 
   428 
   429 def relocated_delete():
   429 def relocated_delete():
   467 if __name__ == '__main__':
   467 if __name__ == '__main__':
   468     __prog__ = os.path.basename(os.sys.argv[0])
   468     __prog__ = os.path.basename(os.sys.argv[0])
   469     gettext.install(__prog__, '/usr/local/share/locale', unicode=1)
   469     gettext.install(__prog__, '/usr/local/share/locale', unicode=1)
   470     argv = [unicode(arg, ENCODING) for arg in os.sys.argv]
   470     argv = [unicode(arg, ENCODING) for arg in os.sys.argv]
   471     argc = len(os.sys.argv)
   471     argc = len(os.sys.argv)
   472     plan_a_b =_(u'Plan A failed ... trying Plan B: %(subcommand)s %(address)s')
   472     plan_a_b =_(u'Plan A failed ... trying Plan B: %(subcommand)s %(object)s')
   473 
   473 
   474     if argc < 2:
   474     if argc < 2:
   475         usage(EXIT.MISSING_ARGS)
   475         usage(EXIT.MISSING_ARGS)
   476 
   476 
   477     vmm = get_vmm()
   477     vmm = get_vmm()
   533             show_version()
   533             show_version()
   534         else:
   534         else:
   535             usage(EXIT.UNKNOWN_COMMAND, _(u'Unknown subcommand: ā€œ%sā€')% argv[1])
   535             usage(EXIT.UNKNOWN_COMMAND, _(u'Unknown subcommand: ā€œ%sā€')% argv[1])
   536         show_warnings()
   536         show_warnings()
   537     except (EOFError, KeyboardInterrupt):
   537     except (EOFError, KeyboardInterrupt):
   538         # TP: We have to cry, because the user has killed/interrupted vmm with
   538         # TP: We have to cry, because root has killed/interrupted vmm
   539         # Ctrl+C or Ctrl+D.
   539         # with Ctrl+C or Ctrl+D.
   540         w_err(EXIT.USER_INTERRUPT, _(u'\nOuch!\n'))
   540         w_err(EXIT.USER_INTERRUPT, _(u'\nOuch!\n'))
   541     except (VMME.VMMConfigException, VMME.VMMException), e:
   541     except (VMME.VMMConfigException, VMME.VMMException), e:
   542         if e.code() != ERR.DATABASE_ERROR:
   542         if e.code() != ERR.DATABASE_ERROR:
   543             w_err(e.code(), _(u'Error: %s') % e.msg())
   543             w_err(e.code(), _(u'Error: %s') % e.msg())
   544         else:
   544         else: