# HG changeset patch # User Pascal Volk # Date 1223177618 0 # Node ID 1734eb5101c66a8e5a7a13486242728f52efc511 # Parent 752d3b57ebb6c99803c15bc4da6abdc6a7a061dc * 'VirtualMailManager/Account.py' - Implemented Account.getAliases() in order to display optional all assigned alias addresses. * 'VirtualMailManager/VirtualMailManager.py' - Some small cleanups in VirtualMailManager.domainInfo() - Adjusted VirtualMailManager.userInfo() * 'vmm' - Included account/alias stuff * 'man/de/man1/vmm.1' * 'man/man1/vmm.1' * 'po/de.po' * 'po/vmm.pot' - updated diff -r 752d3b57ebb6 -r 1734eb5101c6 VirtualMailManager/Account.py --- a/VirtualMailManager/Account.py Thu Sep 18 18:40:54 2008 +0000 +++ b/VirtualMailManager/Account.py Sun Oct 05 03:33:38 2008 +0000 @@ -197,6 +197,19 @@ tid=info['transport']).getTransport() return info + def getAliases(self): + dbc = self._dbh.cursor() + dbc.execute("SELECT address ||'@'|| domainname FROM alias, domain_name\ + WHERE destination = %s AND domain_name.gid = alias.gid\ + AND domain_name.is_primary", str(self._addr)) + addresses = dbc.fetchall() + dbc.close() + aliases = [] + if len(addresses) > 0: + for alias in addresses: + aliases.append(alias[0]) + return aliases + def delete(self, delalias): if self._uid < 1: raise AccE(_(u"The account »%s« doesn't exists.") % self._addr, diff -r 752d3b57ebb6 -r 1734eb5101c6 VirtualMailManager/VirtualMailManager.py --- a/VirtualMailManager/VirtualMailManager.py Thu Sep 18 18:40:54 2008 +0000 +++ b/VirtualMailManager/VirtualMailManager.py Sun Oct 05 03:33:38 2008 +0000 @@ -503,8 +503,8 @@ def domainInfo(self, domainname, details=None): if details not in [None, 'accounts', 'aliasdomains', 'aliases', 'full', 'relocated', 'detailed']: - raise VMMDomainException(_(u'Invalid argument: »%s«') % details, - ERR.INVALID_OPTION) + raise VMMException(_(u'Invalid argument: »%s«') % details, + ERR.INVALID_AGUMENT) if details == 'detailed': details = 'full' warning = _(u"""\ @@ -516,8 +516,6 @@ if dominfo['domainname'].startswith('xn--'): dominfo['domainname'] += ' (%s)'\ % VirtualMailManager.ace2idna(dominfo['domainname']) - if dominfo['aliases'] is None: - dominfo['aliases'] = 0 if details is None: return dominfo elif details == 'accounts': @@ -642,11 +640,19 @@ alias = self.__getAlias(aliasaddress, targetaddress) alias.delete() - def userInfo(self, emailaddress, diskusage=False): + def userInfo(self, emailaddress, details=None): + if details not in [None, 'du', 'aliases', 'full']: + raise VMMException(_(u'Invalid argument: »%s«') % details, + ERR.INVALID_AGUMENT) acc = self.__getAccount(emailaddress) info = acc.getInfo() - if self.__Cfg.getboolean('maildir', 'diskusage') or diskusage: + if self.__Cfg.getboolean('maildir', 'diskusage')\ + or details in ['du', 'full']: info['disk usage'] = self.__getDiskUsage('%(maildir)s' % info) + if details in [None, 'du']: + return info + if details in ['aliases', 'full']: + return (info, acc.getAliases()) return info def userByID(self, uid): diff -r 752d3b57ebb6 -r 1734eb5101c6 man/de/man1/vmm.1 --- a/man/de/man1/vmm.1 Thu Sep 18 18:40:54 2008 +0000 +++ b/man/de/man1/vmm.1 Sun Oct 05 03:33:38 2008 +0000 @@ -1,5 +1,5 @@ .\" $Id$ -.TH "VMM" "1" "10. Sep 2008" "Pascal Volk" +.TH "VMM" "1" "5. Okt 2008" "Pascal Volk" .SH NAME vmm \- Programm für die Kommandozeile, um E-Mail-Domains, -Konten und -Aliase zu verwalten. @@ -266,12 +266,28 @@ Neues Passwort wiederholen: .fi .TP -\fBuserinfo\fP (\fBui\fP) \fIAdresse\fP [ \fIdu\fP ] +\fBuserinfo\fP (\fBui\fP) \fIAdresse\fP [ \fIdetails\fP ] Dieser Unterbefehl zeigt einige Informationen über das Konto mit der angegebenen \fIAdresse\fP an. .br -Wurde das optionale Argument \fIdu\fP angegeben, wird zusätzlich die -Festplattenbelegung des Kontos ermittelt und ausgegeben. +Wurde das optionale Argument \fIdetails\fP angegeben, werden weitere +Informationen ausgegeben. +.br +Mögliche Werte für \fIdetails\fP sind: +.RS +.PD 0 +.TP +.B aliases +um alle Alias-Adressen, mit dem Ziel \fIAdresse\fP, aufzulisten +.TP +.B du +um zusätzlich die Festplattenbelegung des Kontos anzuzeigen +.TP +.B full +um alle oben genannten Informationen anzuzeigen +.PD +.RE +.LP .TP \fBusername\fP (\fBun\fP) \fIAdresse\fP \fI'Bürgerlicher Name'\fP Der Bürgerliche Name des Konto-Inhabers mit der angegebenen \fIAdresse\fP kann diff -r 752d3b57ebb6 -r 1734eb5101c6 man/man1/vmm.1 --- a/man/man1/vmm.1 Thu Sep 18 18:40:54 2008 +0000 +++ b/man/man1/vmm.1 Sun Oct 05 03:33:38 2008 +0000 @@ -1,5 +1,5 @@ .\" $Id$ -.TH "VMM" "1" "10. Sep 2008" "Pascal Volk" +.TH "VMM" "1" "5 Oct 2008" "Pascal Volk" .SH NAME vmm \- command line tool to manage email domains/accounts/aliases .SH SYNOPSIS @@ -250,12 +250,28 @@ Retype new password: .fi .TP -\fBuserinfo\fP (\fBui\fP) \fIaddress\fP [ \fIdu\fP ] +\fBuserinfo\fP (\fBui\fP) \fIaddress\fP [ \fIdetails\fP ] This subcommand displays some information about the account specified by \fIaddress\fP. .br -If the optional argument \fIdu\fP is given, the disk usage of users maildir will -be summarized and displayed too. +If the optional argument \fIdetails\fP is given some more information will be +displayed. +.br +Possible values for \fIdetails\fP are: +.RS +.PD 0 +.TP +.B aliases +to list all alias addresses with the destination \fIaddress\fP +.TP +.B du +to display the disk usage of users maildir +.TP +.B full +to list all information mentioned above +.PD +.RE +.LP .TP \fBusername\fP (\fBun\fP) \fIaddress\fP \fI'Users Name'\fP The user's real name can be set/updated with this subcommand. diff -r 752d3b57ebb6 -r 1734eb5101c6 po/de.po --- a/po/de.po Thu Sep 18 18:40:54 2008 +0000 +++ b/po/de.po Sun Oct 05 03:33:38 2008 +0000 @@ -6,8 +6,8 @@ msgstr "" "Project-Id-Version: vmm 0.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-09-18 00:43+0200\n" -"PO-Revision-Date: 2008-09-18 01:12+0200\n" +"POT-Creation-Date: 2008-10-05 05:20+0200\n" +"PO-Revision-Date: 2008-10-05 05:23+0200\n" "Last-Translator: Pascal Volk \n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "Unbekannter Service »%s«." #: VirtualMailManager/Account.py:88 VirtualMailManager/Account.py:154 -#: VirtualMailManager/Account.py:181 VirtualMailManager/Account.py:202 +#: VirtualMailManager/Account.py:181 VirtualMailManager/Account.py:215 #, python-format msgid "The account »%s« doesn't exists." msgstr "Der Account »%s« existiert nicht." @@ -56,20 +56,20 @@ msgid "disabled" msgstr "deaktiviert" -#: VirtualMailManager/Account.py:224 +#: VirtualMailManager/Account.py:237 #, python-format msgid "There are %(count)d aliases with the destination address »%(address)s«." msgstr "Es gibt %(count)d Alias(e) mit der Zieladresse »%(address)s«." -#: VirtualMailManager/Account.py:232 +#: VirtualMailManager/Account.py:245 msgid "uid must be an int/long." msgstr "Die UID muss eine Ganzzahl sein." -#: VirtualMailManager/Account.py:234 +#: VirtualMailManager/Account.py:247 msgid "uid must be greater than 0." msgstr "Die UID muss größer als 0 sein." -#: VirtualMailManager/Account.py:242 +#: VirtualMailManager/Account.py:255 #, python-format msgid "There is no account with the UID »%d«." msgstr "Es existiert kein Account mit der UID »%d«." @@ -382,7 +382,8 @@ #: VirtualMailManager/VirtualMailManager.py:487 #: VirtualMailManager/VirtualMailManager.py:506 -#: VirtualMailManager/VirtualMailManager.py:616 +#: VirtualMailManager/VirtualMailManager.py:614 +#: VirtualMailManager/VirtualMailManager.py:645 #, python-format msgid "Invalid argument: »%s«" msgstr "Ungültiges Argument: »%s«" @@ -397,17 +398,17 @@ " Version entfernt werden.\n" " Verwenden Sie bitte das Schlüsselwort »full«, um alle Details zu erhalten." -#: VirtualMailManager/VirtualMailManager.py:586 +#: VirtualMailManager/VirtualMailManager.py:584 #, python-format msgid "The pattern »%s« contains invalid characters." msgstr "Das Muster »%s« enthält ungültige Zeichen." -#: VirtualMailManager/VirtualMailManager.py:611 +#: VirtualMailManager/VirtualMailManager.py:609 #, python-format msgid "The destination account/alias »%s« doesn't exists yet." msgstr "Der Ziel-Account/-Alias »%s« existiert noch nicht." -#: VirtualMailManager/VirtualMailManager.py:628 +#: VirtualMailManager/VirtualMailManager.py:626 #, python-format msgid "" "The account has been successfully deleted from the database.\n" @@ -420,7 +421,7 @@ " »%(directory)s«\n" " Grund: %(raeson)s" -#: VirtualMailManager/VirtualMailManager.py:660 +#: VirtualMailManager/VirtualMailManager.py:666 msgid "Account doesn't exists" msgstr "Der Account existiert nicht" @@ -442,57 +443,57 @@ " kurz lang\n" " Unterbefehl Objekt args (* = optional)\n" -#: vmm:79 vmm:90 vmm:487 +#: vmm:79 vmm:90 vmm:494 msgid "Error" msgstr "Fehler" -#: vmm:112 +#: vmm:113 msgid "information" msgstr "Informationen" -#: vmm:122 +#: vmm:123 msgid "Available" msgstr "Verfügbare" -#: vmm:125 vmm:224 vmm:230 +#: vmm:126 vmm:225 vmm:231 msgid "alias domains" msgstr "Alias-Domains" -#: vmm:135 vmm:146 vmm:170 +#: vmm:136 vmm:147 vmm:171 msgid "\tNone" msgstr "\tKeine" -#: vmm:139 +#: vmm:140 msgid "Alias information" msgstr "Alias Informationen" -#: vmm:141 +#: vmm:142 #, python-format msgid "\tMail for %s will be redirected to:" msgstr "\tE-Mails für %s werden weitergeleitet an:" -#: vmm:150 +#: vmm:151 msgid "Relocated information" msgstr "Relocated Informationen" -#: vmm:152 +#: vmm:153 #, python-format msgid "\tUser »%(addr)s« has moved to »%(dest)s«" msgstr "\tDer Benutzer »%(addr)s« ist erreichbar unter »%(dest)s«" -#: vmm:165 +#: vmm:166 msgid "Available domains" msgstr "Verfügbare Domains" -#: vmm:167 +#: vmm:168 msgid "Matching domains" msgstr "Übereinstimmende Domains" -#: vmm:181 +#: vmm:182 msgid "Alias domain information" msgstr "Alias-Domain Informationen" -#: vmm:187 +#: vmm:188 #, python-format msgid "" "\tThe alias domain %(alias)s belongs to:\n" @@ -501,110 +502,114 @@ "\tDie Alias-Domain %(alias)s gehört zu:\n" "\t * %(domain)s" -#: vmm:198 vmm:206 vmm:214 +#: vmm:199 vmm:207 vmm:215 msgid "Missing domain name." msgstr "Kein Domain-Name angegeben." -#: vmm:216 vmm:220 +#: vmm:217 vmm:221 msgid "Domain" msgstr "Domain" -#: vmm:222 vmm:231 +#: vmm:223 vmm:232 msgid "accounts" msgstr "Accounts" -#: vmm:226 vmm:232 +#: vmm:227 vmm:233 msgid "aliases" msgstr "Aliase" -#: vmm:228 vmm:233 +#: vmm:229 vmm:234 msgid "relocated users" msgstr "Relocated Users" -#: vmm:237 +#: vmm:238 msgid "Missing domain name and new transport." msgstr "Domain-Name und neuer Transport fehlen." -#: vmm:239 +#: vmm:240 msgid "Missing new transport." msgstr "Neuer Transport fehlt." -#: vmm:248 vmm:263 +#: vmm:249 vmm:264 msgid "Missing alias domain name and target domain name." msgstr "Domain-Namen für Alias- und Ziel-Domain fehlen." -#: vmm:250 vmm:265 +#: vmm:251 vmm:266 msgid "Missing target domain name." msgstr "Keine Ziel-Domain angegeben." -#: vmm:256 vmm:271 +#: vmm:257 vmm:272 msgid "Missing alias domain name." msgstr "Keine Alias-Domain angegeben." -#: vmm:277 vmm:286 vmm:294 vmm:318 vmm:326 vmm:334 +#: vmm:278 vmm:287 vmm:295 vmm:325 vmm:333 vmm:341 msgid "Missing e-mail address." msgstr "E-Mail-Adresse fehlt." -#: vmm:302 +#: vmm:303 +msgid "alias addresses" +msgstr "Alias-Adressen" + +#: vmm:309 msgid "Missing e-mail address and users name." msgstr "E-Mail-Adresse und der Name des Benutzers fehlen." -#: vmm:304 +#: vmm:311 msgid "Missing users name." msgstr "Name des Benutzers fehlt." -#: vmm:310 +#: vmm:317 msgid "Missing e-mail address and transport." msgstr "E-Mail-Adresse und Transport fehlen." -#: vmm:312 +#: vmm:319 msgid "Missing transport." msgstr "Transport fehlt." -#: vmm:343 +#: vmm:350 msgid "Missing alias address and destination." msgstr "Alias- und Ziel-Adresse fehlen." -#: vmm:345 vmm:368 +#: vmm:352 vmm:375 msgid "Missing destination address." msgstr "Die Ziel-Adresse fehlt." -#: vmm:351 vmm:357 +#: vmm:358 vmm:364 msgid "Missing alias address" msgstr "Die Alias-Adresse fehlt." -#: vmm:366 +#: vmm:373 msgid "Missing relocated address and destination." msgstr "Die Adresse des relocated Users und Ziel-Adresse fehlen." -#: vmm:374 vmm:382 +#: vmm:381 vmm:389 msgid "Missing relocated address" msgstr "Die Adresse des relocated Users fehlt." -#: vmm:388 +#: vmm:395 msgid "Missing userid" msgstr "Keine UID angegeben." -#: vmm:401 +#: vmm:408 msgid "Warnings:" msgstr "Warnungen:" -#: vmm:406 +#: vmm:413 msgid "version" msgstr "Version" -#: vmm:407 +#: vmm:414 msgid "from" msgstr "vom" -#: vmm:409 +#: vmm:416 msgid "on" msgstr "auf" -#: vmm:482 +#: vmm:489 msgid "Unknown subcommand" msgstr "Unbekannter Unterbefehl" -#: vmm:485 +#: vmm:492 msgid "Ouch" msgstr "Autsch" diff -r 752d3b57ebb6 -r 1734eb5101c6 po/vmm.pot --- a/po/vmm.pot Thu Sep 18 18:40:54 2008 +0000 +++ b/po/vmm.pot Sun Oct 05 03:33:38 2008 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: vmm 0.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-09-18 00:43+0200\n" +"POT-Creation-Date: 2008-10-05 05:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,7 +39,7 @@ msgstr "" #: VirtualMailManager/Account.py:88 VirtualMailManager/Account.py:154 -#: VirtualMailManager/Account.py:181 VirtualMailManager/Account.py:202 +#: VirtualMailManager/Account.py:181 VirtualMailManager/Account.py:215 #, python-format msgid "The account »%s« doesn't exists." msgstr "" @@ -57,20 +57,20 @@ msgid "disabled" msgstr "" -#: VirtualMailManager/Account.py:224 +#: VirtualMailManager/Account.py:237 #, python-format msgid "There are %(count)d aliases with the destination address »%(address)s«." msgstr "" -#: VirtualMailManager/Account.py:232 +#: VirtualMailManager/Account.py:245 msgid "uid must be an int/long." msgstr "" -#: VirtualMailManager/Account.py:234 +#: VirtualMailManager/Account.py:247 msgid "uid must be greater than 0." msgstr "" -#: VirtualMailManager/Account.py:242 +#: VirtualMailManager/Account.py:255 #, python-format msgid "There is no account with the UID »%d«." msgstr "" @@ -364,7 +364,8 @@ #: VirtualMailManager/VirtualMailManager.py:487 #: VirtualMailManager/VirtualMailManager.py:506 -#: VirtualMailManager/VirtualMailManager.py:616 +#: VirtualMailManager/VirtualMailManager.py:614 +#: VirtualMailManager/VirtualMailManager.py:645 #, python-format msgid "Invalid argument: »%s«" msgstr "" @@ -376,17 +377,17 @@ " Please use the keyword »full« to get full details." msgstr "" -#: VirtualMailManager/VirtualMailManager.py:586 +#: VirtualMailManager/VirtualMailManager.py:584 #, python-format msgid "The pattern »%s« contains invalid characters." msgstr "" -#: VirtualMailManager/VirtualMailManager.py:611 +#: VirtualMailManager/VirtualMailManager.py:609 #, python-format msgid "The destination account/alias »%s« doesn't exists yet." msgstr "" -#: VirtualMailManager/VirtualMailManager.py:628 +#: VirtualMailManager/VirtualMailManager.py:626 #, python-format msgid "" "The account has been successfully deleted from the database.\n" @@ -395,7 +396,7 @@ " Reason: %(raeson)s" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:660 +#: VirtualMailManager/VirtualMailManager.py:666 msgid "Account doesn't exists" msgstr "" @@ -413,167 +414,171 @@ " subcommand object args (* = optional)\n" msgstr "" -#: vmm:79 vmm:90 vmm:487 +#: vmm:79 vmm:90 vmm:494 msgid "Error" msgstr "" -#: vmm:112 +#: vmm:113 msgid "information" msgstr "" -#: vmm:122 +#: vmm:123 msgid "Available" msgstr "" -#: vmm:125 vmm:224 vmm:230 +#: vmm:126 vmm:225 vmm:231 msgid "alias domains" msgstr "" -#: vmm:135 vmm:146 vmm:170 +#: vmm:136 vmm:147 vmm:171 msgid "\tNone" msgstr "" -#: vmm:139 +#: vmm:140 msgid "Alias information" msgstr "" -#: vmm:141 +#: vmm:142 #, python-format msgid "\tMail for %s will be redirected to:" msgstr "" -#: vmm:150 +#: vmm:151 msgid "Relocated information" msgstr "" -#: vmm:152 +#: vmm:153 #, python-format msgid "\tUser »%(addr)s« has moved to »%(dest)s«" msgstr "" -#: vmm:165 +#: vmm:166 msgid "Available domains" msgstr "" -#: vmm:167 +#: vmm:168 msgid "Matching domains" msgstr "" -#: vmm:181 +#: vmm:182 msgid "Alias domain information" msgstr "" -#: vmm:187 +#: vmm:188 #, python-format msgid "" "\tThe alias domain %(alias)s belongs to:\n" "\t * %(domain)s" msgstr "" -#: vmm:198 vmm:206 vmm:214 +#: vmm:199 vmm:207 vmm:215 msgid "Missing domain name." msgstr "" -#: vmm:216 vmm:220 +#: vmm:217 vmm:221 msgid "Domain" msgstr "" -#: vmm:222 vmm:231 +#: vmm:223 vmm:232 msgid "accounts" msgstr "" -#: vmm:226 vmm:232 +#: vmm:227 vmm:233 msgid "aliases" msgstr "" -#: vmm:228 vmm:233 +#: vmm:229 vmm:234 msgid "relocated users" msgstr "" -#: vmm:237 +#: vmm:238 msgid "Missing domain name and new transport." msgstr "" -#: vmm:239 +#: vmm:240 msgid "Missing new transport." msgstr "" -#: vmm:248 vmm:263 +#: vmm:249 vmm:264 msgid "Missing alias domain name and target domain name." msgstr "" -#: vmm:250 vmm:265 +#: vmm:251 vmm:266 msgid "Missing target domain name." msgstr "" -#: vmm:256 vmm:271 +#: vmm:257 vmm:272 msgid "Missing alias domain name." msgstr "" -#: vmm:277 vmm:286 vmm:294 vmm:318 vmm:326 vmm:334 +#: vmm:278 vmm:287 vmm:295 vmm:325 vmm:333 vmm:341 msgid "Missing e-mail address." msgstr "" -#: vmm:302 +#: vmm:303 +msgid "alias addresses" +msgstr "" + +#: vmm:309 msgid "Missing e-mail address and users name." msgstr "" -#: vmm:304 +#: vmm:311 msgid "Missing users name." msgstr "" -#: vmm:310 +#: vmm:317 msgid "Missing e-mail address and transport." msgstr "" -#: vmm:312 +#: vmm:319 msgid "Missing transport." msgstr "" -#: vmm:343 +#: vmm:350 msgid "Missing alias address and destination." msgstr "" -#: vmm:345 vmm:368 +#: vmm:352 vmm:375 msgid "Missing destination address." msgstr "" -#: vmm:351 vmm:357 +#: vmm:358 vmm:364 msgid "Missing alias address" msgstr "" -#: vmm:366 +#: vmm:373 msgid "Missing relocated address and destination." msgstr "" -#: vmm:374 vmm:382 +#: vmm:381 vmm:389 msgid "Missing relocated address" msgstr "" -#: vmm:388 +#: vmm:395 msgid "Missing userid" msgstr "" -#: vmm:401 +#: vmm:408 msgid "Warnings:" msgstr "" -#: vmm:406 +#: vmm:413 msgid "version" msgstr "" -#: vmm:407 +#: vmm:414 msgid "from" msgstr "" -#: vmm:409 +#: vmm:416 msgid "on" msgstr "" -#: vmm:482 +#: vmm:489 msgid "Unknown subcommand" msgstr "" -#: vmm:485 +#: vmm:492 msgid "Ouch" msgstr "" diff -r 752d3b57ebb6 -r 1734eb5101c6 vmm --- a/vmm Thu Sep 18 18:40:54 2008 +0000 +++ b/vmm Sun Oct 05 03:33:38 2008 +0000 @@ -53,7 +53,7 @@ ads aliasdomainswitch aliasdomain.tld domain.tld add aliasdomaindelete aliasdomain.tld ua useradd user@domain.tld password* - ui userinfo user@domain.tld du* + ui userinfo user@domain.tld details* un username user@domain.tld 'Users Name' up userpassword user@domain.tld password* ut usertransport user@domain.tld transport @@ -96,7 +96,8 @@ ('domaindir', 0), ('aliasdomains', 0), ('accounts', 0), ('aliases', 0), ('relocated', 0)) elif argv[1] in ['ui', 'userinfo']: - if argc == 4 or vmm.cfgGetBoolean('maildir', 'diskusage'): + if argc == 4 and argv[3] != 'aliases'\ + or vmm.cfgGetBoolean('maildir', 'diskusage'): order = (('address', 0), ('name', 0), ('uid', 1), ('gid', 1), ('transport', 0), ('maildir', 0), ('disk usage', 0), ('smtp', 1), ('pop3', 1), ('imap', 1), ('managesieve', 1)) @@ -295,7 +296,13 @@ elif argc < 4: _printInfo(vmm.userInfo(argv[2].lower()), 'Account') else: - _printInfo(vmm.userInfo(argv[2].lower(), True), 'Account') + arg3 = argv[3].lower() + info = vmm.userInfo(argv[2].lower(), arg3) + if arg3 in ['aliases', 'full']: + _printInfo(info[0], 'Account') + _printList(info[1], _(u'alias addresses')) + else: + _printInfo(info, 'Account') def user_name(): if argc < 3: