24   | 
    24   | 
    25 __prog__ = os.path.basename(sys.argv[0])  | 
    25 __prog__ = os.path.basename(sys.argv[0])  | 
    26   | 
    26   | 
    27 def usage(excode=0, errMsg=None):  | 
    27 def usage(excode=0, errMsg=None):  | 
    28     sys.stderr.write("""\ | 
    28     sys.stderr.write("""\ | 
    29 Usage: %s OPTION OBJECT ARGS*  | 
    29 Usage: %s COMMAND OBJECT ARGS*  | 
    30   short long  | 
    30   short long  | 
    31   option                object           args (* = optional)  | 
    31   command               object           args (* = optional)  | 
    32   | 
    32   | 
    33   da    domainadd       domain.tld       transport*  | 
    33   da    domainadd       domain.tld       transport*  | 
    34   di    domaininfo      domain.tld       detailed*  | 
    34   di    domaininfo      domain.tld       detailed*  | 
    35   dt    domaintransport domain.tld       transport force*  | 
    35   dt    domaintransport domain.tld       transport force*  | 
    36   dd    domaindelete    domain.tld       delalias*|deluser*|delall*  | 
    36   dd    domaindelete    domain.tld       delalias*|deluser*|delall*  | 
    37   ua    useradd         user@domain.tld  password*  | 
    37   ua    useradd         user@domain.tld  password*  | 
    38   ui    userinfo        user@domain.tld  du*  | 
    38   ui    userinfo        user@domain.tld  du*  | 
    39   un    username        user@domain.tld  'Users Name'  | 
    39   un    username        user@domain.tld  'Users Name'  | 
    40   up    userpassword    user@domain.tld  password*  | 
    40   up    userpassword    user@domain.tld  password*  | 
    41   ut    usertransport   user@domain.tld  transport  | 
    41   ut    usertransport   user@domain.tld  transport  | 
    42   u0    userdisable     user@domain.tld  | 
    42   u0    userdisable     user@domain.tld  smtp*|pop3*|imap*|managesieve*|all*  | 
    43   u1    userenable      user@domain.tld  | 
    43   u1    userenable      user@domain.tld  smtp*|pop3*|imap*|managesieve*|all*  | 
    44   ud    userdelete      user@domain.tld  | 
    44   ud    userdelete      user@domain.tld  | 
    45   aa    aliasadd        alias@domain.tld user@domain.tld  | 
    45   aa    aliasadd        alias@domain.tld user@domain.tld  | 
    46   ai    aliasinfo       alias@domain.tld  | 
    46   ai    aliasinfo       alias@domain.tld  | 
    47   ad    aliasdelete     alias@domain.tld user@domain.tld*  | 
    47   ad    aliasdelete     alias@domain.tld user@domain.tld*  | 
    48   gu    getuser         userid  | 
    48   gu    getuser         userid  | 
   207   | 
   207   | 
   208 def user_enable():  | 
   208 def user_enable():  | 
   209     global argc  | 
   209     global argc  | 
   210     if argc < 3:  | 
   210     if argc < 3:  | 
   211         usage(EXIT.MISSING_ARGS, 'Missing e-mail address.')  | 
   211         usage(EXIT.MISSING_ARGS, 'Missing e-mail address.')  | 
   212     else:  | 
   212     elif argc < 4:  | 
   213         vmm.user_enable(sys.argv[2].lower())  | 
   213         vmm.user_enable(sys.argv[2].lower())  | 
         | 
   214     else:  | 
         | 
   215         vmm.user_enable(sys.argv[2].lower(), sys.argv[3].lower())  | 
   214   | 
   216   | 
   215 def user_disable():  | 
   217 def user_disable():  | 
   216     global argc  | 
   218     global argc  | 
   217     if argc < 3:  | 
   219     if argc < 3:  | 
   218         usage(EXIT.MISSING_ARGS, 'Missing e-mail address.')  | 
   220         usage(EXIT.MISSING_ARGS, 'Missing e-mail address.')  | 
   219     else:  | 
   221     elif argc < 4:  | 
   220         vmm.user_disable(sys.argv[2].lower())  | 
   222         vmm.user_disable(sys.argv[2].lower())  | 
         | 
   223     else:  | 
         | 
   224         vmm.user_disable(sys.argv[2].lower(), sys.argv[3].lower())  | 
   221   | 
   225   | 
   222 def user_password():  | 
   226 def user_password():  | 
   223     global argc  | 
   227     global argc  | 
   224     if argc < 3:  | 
   228     if argc < 3:  | 
   225         usage(EXIT.MISSING_ARGS, 'Missing e-mail address.')  | 
   229         usage(EXIT.MISSING_ARGS, 'Missing e-mail address.')  | 
   317             usage()  | 
   321             usage()  | 
   318         elif sys.argv[1] in ['v', 'version']:  | 
   322         elif sys.argv[1] in ['v', 'version']:  | 
   319             print "%s, version %s (%s from %s)\n" % (__prog__, __version__,  | 
   323             print "%s, version %s (%s from %s)\n" % (__prog__, __version__,  | 
   320                     __revision__, __date__)  | 
   324                     __revision__, __date__)  | 
   321         else:  | 
   325         else:  | 
   322             usage(EXIT.UNKNOWN_OPTION, 'Unknown option: »%s«' % sys.argv[1])  | 
   326             usage(EXIT.UNKNOWN_COMMAND, 'Unknown command: »%s«' % sys.argv[1])  | 
   323         showWarnings()  | 
   327         showWarnings()  | 
   324     except (EOFError, KeyboardInterrupt):  | 
   328     except (EOFError, KeyboardInterrupt):  | 
   325         sys.stderr.write('\nOuch!\n') | 
   329         sys.stderr.write('\nOuch!\n') | 
   326         sys.exit(EXIT.USER_INTERRUPT)  | 
   330         sys.exit(EXIT.USER_INTERRUPT)  | 
   327     except VMME.VMMException, e:  | 
   331     except VMME.VMMException, e:  |