| author | Pascal Volk <neverseen@users.sourceforge.net> | 
| Wed, 06 Aug 2008 22:11:17 +0000 | |
| changeset 40 | ab0748a5da9a | 
| parent 39 | 8dcf739fc97e | 
| child 44 | c9ab6900ede9 | 
| permissions | -rwxr-xr-x | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 1 | #!/usr/bin/env python | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 2 | # -*- coding: UTF-8 -*- | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 3 | # Copyright 2007-2008 VEB IT | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 4 | # See COPYING for distribution information. | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 5 | # $Id$ | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 6 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 7 | """This is the vmm main script.""" | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 8 | |
| 4 | 9 | from VirtualMailManager.constants.VERSION import VERSION | 
| 10 | ||
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 11 | __author__ = 'Pascal Volk <p.volk@veb-it.de>' | 
| 4 | 12 | __version__ = VERSION | 
| 13 | __revision__ = 'rev '+'$Rev$'.split()[1] | |
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 14 | __date__ = '$Date$'.split()[1] | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 15 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 16 | import os | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 17 | import sys | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 18 | import gettext | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 19 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 20 | from VirtualMailManager.VirtualMailManager import VirtualMailManager | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 21 | from VirtualMailManager.Config import VMMConfig | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 22 | import VirtualMailManager.Exceptions as VMME | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 23 | import VirtualMailManager.constants.EXIT as EXIT | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 24 | import VirtualMailManager.constants.ERROR as ERR | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 25 | |
| 4 | 26 | __prog__ = os.path.basename(sys.argv[0]) | 
| 27 | ||
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 28 | gettext.bindtextdomain(__prog__, '/usr/local/share/locale') | 
| 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 29 | gettext.textdomain(__prog__) | 
| 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 30 | _ = gettext.gettext | 
| 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 31 | |
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 32 | def usage(excode=0, errMsg=None): | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 33 | sys.stderr.write(_("""\ | 
| 22 | 34 | Usage: %s SUBCOMMAND OBJECT ARGS* | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 35 |   short long | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 36 | subcommand object args (* = optional)\n\n""")% __prog__) | 
| 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 37 | sys.stderr.write("""\ | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 38 |   da    domainadd       domain.tld       transport* | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 39 |   di    domaininfo      domain.tld       detailed* | 
| 18 
c98e08791ee8
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
17diff
changeset | 40 |   dt    domaintransport domain.tld       transport force* | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 41 |   dd    domaindelete    domain.tld       delalias*|deluser*|delall* | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 42 |   ua    useradd         user@domain.tld  password* | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 43 |   ui    userinfo        user@domain.tld  du* | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 44 |   un    username        user@domain.tld  'Users Name' | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 45 |   up    userpassword    user@domain.tld  password* | 
| 18 
c98e08791ee8
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
17diff
changeset | 46 |   ut    usertransport   user@domain.tld  transport | 
| 20 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 47 |   u0    userdisable     user@domain.tld  smtp*|pop3*|imap*|managesieve*|all* | 
| 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 48 |   u1    userenable      user@domain.tld  smtp*|pop3*|imap*|managesieve*|all* | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 49 |   ud    userdelete      user@domain.tld | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 50 |   aa    aliasadd        alias@domain.tld user@domain.tld | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 51 |   ai    aliasinfo       alias@domain.tld | 
| 12 
44161dbb1518
* 'VirtualMailManager/Alias.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
5diff
changeset | 52 |   ad    aliasdelete     alias@domain.tld user@domain.tld* | 
| 19 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 53 |   gu    getuser         userid | 
| 35 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 54 |   ld    listdomains                      pattern* | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 55 |   cf    configure                        section* | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 56 |   h     help | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 57 |   v     version | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 58 | |
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 59 | """) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 60 | if not errMsg is None: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 61 | sys.stderr.write('%s: %s\n' % (_('Error'), errMsg)) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 62 | sys.exit(excode) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 63 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 64 | def getVMM(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 65 | try: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 66 | vmm = VirtualMailManager() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 67 | return vmm | 
| 2 
9b39f828aa8a
* 'VirtualMailManager/Exceptions.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
1diff
changeset | 68 | except (VMME.VMMException, VMME.VMMNotRootException, VMME.VMMPermException, | 
| 
9b39f828aa8a
* 'VirtualMailManager/Exceptions.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
1diff
changeset | 69 | VMME.VMMConfigException), e: | 
| 39 
8dcf739fc97e
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
38diff
changeset | 70 | sys.stderr.write("%s: %s\n" % (_('Error'),e[0][0])) | 
| 2 
9b39f828aa8a
* 'VirtualMailManager/Exceptions.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
1diff
changeset | 71 | sys.exit(e[0][1]) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 72 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 73 | def configure(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 74 | try: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 75 | if len(sys.argv) < 3: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 76 | vmm.configure() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 77 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 78 | vmm.configure(sys.argv[2]) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 79 | except (EOFError, KeyboardInterrupt): | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 80 | sys.stderr.write('\n%s!\n' % _('Ouch')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 81 | sys.exit(EXIT.USER_INTERRUPT) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 82 | except VMME.VMMConfigException, e: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 83 | sys.stderr.write(str(e)) | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 84 | sys.exit(ERR.CONF_ERROR) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 85 | sys.exit(0) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 86 | |
| 26 | 87 | def _getOrder(): | 
| 88 | order = () | |
| 89 | if sys.argv[1] in ['di', 'domaininfo']: | |
| 90 | order = (('domainname', 0), ('gid', 1), ('transport', 0), | |
| 91 | ('domaindir', 0), ('accounts', 0), ('aliases', 0)) | |
| 92 | elif sys.argv[1] in ['ui', 'userinfo']: | |
| 40 | 93 | if argc == 4 or vmm.cfgGetBoolean('maildir', 'diskusage'): | 
| 94 | order = (('address', 0), ('name', 0), ('uid', 1), ('gid', 1), | |
| 95 | ('transport', 0), ('maildir', 0), ('disk usage', 0), | |
| 96 | ('smtp', 1), ('pop3', 1), ('imap', 1), ('managesieve', 1)) | |
| 97 | else: | |
| 26 | 98 | order = (('address', 0), ('name', 0), ('uid', 1), ('gid', 1), | 
| 99 | ('transport', 0), ('maildir', 0), ('smtp', 1), ('pop3', 1), | |
| 100 | ('imap', 1), ('managesieve', 1)) | |
| 101 | elif sys.argv[1] in ['gu', 'getuser']: | |
| 102 | order = (('uid', 1), ('gid', 1), ('address', 0)) | |
| 103 | return order | |
| 104 | ||
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 105 | def _printInfo(info, title): | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 106 | msg = '%s %s' % (title, _('information')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 107 | print '%s\n%s' % (msg, '-'*len(msg)) | 
| 26 | 108 | for k,u in _getOrder(): | 
| 109 | if u: | |
| 110 | print '\t%s: %s' % (k.upper().ljust(15, '.'), info[k]) | |
| 111 | else: | |
| 112 | print '\t%s: %s' % (k.title().ljust(15, '.'), info[k]) | |
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 113 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 114 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 115 | def _printUsers(users, title): | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 116 | msg = '%s %s' % (_('Available'), title) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 117 | print '%s\n%s' % (msg, '-'*len(msg)) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 118 | if len(users) > 0: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 119 | for user in users: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 120 | print '\t%s' % user | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 121 | else: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 122 | print _('\tNone') | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 123 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 124 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 125 | def _printAliases(alias, targets): | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 126 | msg = _('Alias information') | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 127 | print '%s\n%s' % (msg, '-'*len(msg)) | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 128 | print _('\tMail for %s goes to:') % alias | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 129 | if len(targets) > 0: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 130 | for target in targets: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 131 | print '\t -> %s' % target | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 132 | else: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 133 | print _('\tNone') | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 134 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 135 | |
| 35 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 136 | def _printDomList(domains): | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 137 | if argc < 3: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 138 | msg = _('Available domains') | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 139 | else: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 140 | msg = _('Matching domains') | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 141 | print '%s\n%s' % (msg, '-'*len(msg)) | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 142 | if not len(domains): | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 143 | print _('\tNone') | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 144 | else: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 145 | for domain in domains: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 146 | d = domain[0] | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 147 | if not d.startswith('xn--'): | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 148 | print '\t%s' % d | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 149 | else: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 150 | print "\t%s (%s)" % (d, vmm.ace2idna(d)) | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 151 | |
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 152 | |
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 153 | def domain_add(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 154 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 155 | usage(EXIT.MISSING_ARGS, _('Missing domain name.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 156 | elif argc < 4: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 157 | vmm.domain_add(sys.argv[2].lower()) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 158 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 159 | vmm.domain_add(sys.argv[2].lower(), sys.argv[3]) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 160 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 161 | def domain_delete(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 162 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 163 | usage(EXIT.MISSING_ARGS, _('Missing domain name.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 164 | elif argc < 4: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 165 | vmm.domain_delete(sys.argv[2].lower()) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 166 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 167 | vmm.domain_delete(sys.argv[2].lower(), sys.argv[3]) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 168 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 169 | def domain_info(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 170 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 171 | usage(EXIT.MISSING_ARGS, _('Missing domain name.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 172 | elif argc < 4: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 173 | _printInfo(vmm.domain_info(sys.argv[2].lower()), 'Domain') | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 174 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 175 | infos = vmm.domain_info(sys.argv[2].lower(), sys.argv[3]) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 176 | _printInfo(infos[0], 'Domain') | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 177 | _printUsers(infos[1], _('accounts')) | 
| 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 178 | _printUsers(infos[2], _('aliases')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 179 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 180 | def domain_transport(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 181 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 182 | usage(EXIT.MISSING_ARGS, _('Missing domain name and new transport.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 183 | if argc < 4: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 184 | usage(EXIT.MISSING_ARGS, _('Missing new transport.')) | 
| 18 
c98e08791ee8
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
17diff
changeset | 185 | elif argc < 5: | 
| 
c98e08791ee8
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
17diff
changeset | 186 | vmm.domain_transport(sys.argv[2].lower(), sys.argv[3]) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 187 | else: | 
| 18 
c98e08791ee8
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
17diff
changeset | 188 | vmm.domain_transport(sys.argv[2].lower(), sys.argv[3], sys.argv[4]) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 189 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 190 | def user_add(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 191 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 192 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 193 | elif argc < 4: | 
| 38 
c44ea4526546
* 'VirtualMailManager/Alias.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
35diff
changeset | 194 | password = None | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 195 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 196 | password = sys.argv[3] | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 197 | vmm.user_add(sys.argv[2].lower(), password) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 198 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 199 | def user_delete(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 200 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 201 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 202 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 203 | vmm.user_delete(sys.argv[2].lower()) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 204 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 205 | def user_info(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 206 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 207 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 208 | elif argc < 4: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 209 | _printInfo(vmm.user_info(sys.argv[2].lower()), 'Account') | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 210 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 211 | _printInfo(vmm.user_info(sys.argv[2].lower(), True), 'Account') | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 212 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 213 | def user_name(): | 
| 2 
9b39f828aa8a
* 'VirtualMailManager/Exceptions.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
1diff
changeset | 214 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 215 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address and users name.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 216 | if argc < 4: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 217 | usage(EXIT.MISSING_ARGS, _('Missing users name.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 218 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 219 | vmm.user_name(sys.argv[2].lower(), sys.argv[3]) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 220 | |
| 17 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 221 | def user_transport(): | 
| 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 222 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 223 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address and transport.')) | 
| 17 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 224 | if argc <4: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 225 | usage(EXIT.MISSING_ARGS, _('Missing transport.')) | 
| 17 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 226 | else: | 
| 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 227 | vmm.user_transport(sys.argv[2].lower(), sys.argv[3]) | 
| 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 228 | |
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 229 | def user_enable(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 230 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 231 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address.')) | 
| 20 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 232 | elif argc < 4: | 
| 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 233 | vmm.user_enable(sys.argv[2].lower()) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 234 | else: | 
| 20 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 235 | vmm.user_enable(sys.argv[2].lower(), sys.argv[3].lower()) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 236 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 237 | def user_disable(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 238 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 239 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address.')) | 
| 20 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 240 | elif argc < 4: | 
| 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 241 | vmm.user_disable(sys.argv[2].lower()) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 242 | else: | 
| 20 
55146c78b3fb
* 'create_tables.pgsql'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
19diff
changeset | 243 | vmm.user_disable(sys.argv[2].lower(), sys.argv[3].lower()) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 244 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 245 | def user_password(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 246 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 247 | usage(EXIT.MISSING_ARGS, _('Missing e-mail address.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 248 | elif argc < 4: | 
| 38 
c44ea4526546
* 'VirtualMailManager/Alias.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
35diff
changeset | 249 | password = None | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 250 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 251 | password = sys.argv[3] | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 252 | vmm.user_password(sys.argv[2].lower(), password) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 253 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 254 | def alias_add(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 255 | if argc < 4: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 256 | usage(EXIT.MISSING_ARGS, _('Missing alias address and destination.')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 257 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 258 | vmm.alias_add(sys.argv[2].lower(), sys.argv[3]) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 259 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 260 | def alias_info(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 261 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 262 | usage(EXIT.MISSING_ARGS, _('Missing alias address')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 263 | else: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 264 | _printAliases(sys.argv[2], vmm.alias_info(sys.argv[2].lower())) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 265 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 266 | def alias_delete(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 267 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 268 | usage(EXIT.MISSING_ARGS, _('Missing alias address')) | 
| 12 
44161dbb1518
* 'VirtualMailManager/Alias.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
5diff
changeset | 269 | elif argc < 4: | 
| 
44161dbb1518
* 'VirtualMailManager/Alias.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
5diff
changeset | 270 | vmm.alias_delete(sys.argv[2].lower()) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 271 | else: | 
| 12 
44161dbb1518
* 'VirtualMailManager/Alias.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
5diff
changeset | 272 | vmm.alias_delete(sys.argv[2].lower(), sys.argv[3].lower()) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 273 | |
| 19 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 274 | def user_byID(): | 
| 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 275 | if argc < 3: | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 276 | usage(EXIT.MISSING_ARGS, _('Missing userid')) | 
| 19 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 277 | else: | 
| 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 278 | _printInfo(vmm.user_byID(sys.argv[2]), 'Account') | 
| 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 279 | |
| 35 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 280 | def domain_list(): | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 281 | if argc < 3: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 282 | _printDomList(vmm.domain_list()) | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 283 | else: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 284 | _printDomList(vmm.domain_list(sys.argv[2].lower())) | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 285 | |
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 286 | def showWarnings(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 287 | if vmm.hasWarnings(): | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 288 | print _('\nWarnings:') | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 289 | for w in vmm.getWarnings(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 290 | print " * ",w | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 291 | |
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 292 | #def main(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 293 | if __name__ == '__main__': | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 294 | argc = len(sys.argv) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 295 | if argc < 2: | 
| 39 
8dcf739fc97e
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
38diff
changeset | 296 | usage(EXIT.MISSING_ARGS) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 297 | vmm = getVMM() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 298 | try: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 299 | if sys.argv[1] in ['cf', 'configure'] or not vmm.setupIsDone(): | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 300 | configure() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 301 | except VMME.VMMConfigException, e: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 302 | sys.stderr.write(str(e)) | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 303 | sys.exit(ERR.CONF_ERROR) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 304 | except VMME.VMMException, e: | 
| 39 
8dcf739fc97e
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
38diff
changeset | 305 | sys.stderr.write("%s: %s\n" % (_('Error'), e[0][0])) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 306 | sys.exit(e[0][1]) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 307 | try: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 308 | if sys.argv[1] in ['da', 'domainadd']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 309 | domain_add() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 310 | elif sys.argv[1] in ['di', 'domaininfo']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 311 | domain_info() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 312 | elif sys.argv[1] in ['dt', 'domaintransport']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 313 | domain_transport() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 314 | elif sys.argv[1] in ['dd', 'domaindelete']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 315 | domain_delete() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 316 | elif sys.argv[1] in ['ua', 'useradd']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 317 | user_add() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 318 | elif sys.argv[1] in ['ui', 'userinfo']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 319 | user_info() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 320 | elif sys.argv[1] in ['un', 'username']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 321 | user_name() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 322 | elif sys.argv[1] in ['up', 'userpassword']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 323 | user_password() | 
| 17 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 324 | elif sys.argv[1] in ['ut', 'usertransport']: | 
| 
fe9be0081e5f
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
12diff
changeset | 325 | user_transport() | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 326 | elif sys.argv[1] in ['u0', 'userdisable']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 327 | user_disable() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 328 | elif sys.argv[1] in ['u1', 'userenable']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 329 | user_enable() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 330 | elif sys.argv[1] in ['ud', 'userdelete']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 331 | user_delete() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 332 | elif sys.argv[1] in ['aa', 'aliasadd']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 333 | alias_add() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 334 | elif sys.argv[1] in ['ai', 'aliasinfo']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 335 | alias_info() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 336 | elif sys.argv[1] in ['ad', 'aliasdelete']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 337 | alias_delete() | 
| 19 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 338 | elif sys.argv[1] in ['gu', 'getuser']: | 
| 
bf9a03c476fc
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
18diff
changeset | 339 | user_byID() | 
| 35 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 340 | elif sys.argv[1] in ['ld', 'listdomains']: | 
| 
22cc616aef61
* 'VirtualMailManager/VirtualMailManager.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
34diff
changeset | 341 | domain_list() | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 342 | elif sys.argv[1] in ['h', 'help']: | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 343 | usage() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 344 | elif sys.argv[1] in ['v', 'version']: | 
| 4 | 345 | print "%s, version %s (%s from %s)\n" % (__prog__, __version__, | 
| 346 | __revision__, __date__) | |
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 347 | else: | 
| 22 | 348 | usage(EXIT.UNKNOWN_COMMAND, | 
| 38 
c44ea4526546
* 'VirtualMailManager/Alias.py'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
35diff
changeset | 349 | "%s: '%s'" % (_('Unknown subcommand'), sys.argv[1])) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 350 | showWarnings() | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 351 | except (EOFError, KeyboardInterrupt): | 
| 32 
ceb700bc4a80
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
26diff
changeset | 352 | sys.stderr.write('\n%s!\n' % _('Ouch')) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 353 | sys.exit(EXIT.USER_INTERRUPT) | 
| 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 354 | except VMME.VMMException, e: | 
| 39 
8dcf739fc97e
* 'install.sh'
 Pascal Volk <neverseen@users.sourceforge.net> parents: 
38diff
changeset | 355 | sys.stderr.write("%s: %s\n" % (_('Error'), e[0][0])) | 
| 0 
bb0aa2102206
Initial import @sf.net
 Pascal Volk <neverseen@users.sourceforge.net> parents: diff
changeset | 356 | sys.exit(e[0][1]) |