# HG changeset patch # User Pascal Volk # Date 1218060677 0 # Node ID ab0748a5da9a0e4ab52091e19d0577445b94ccf0 # Parent 8dcf739fc97e2a3b3678f18a90b0c7aa3ba6be01 * 'vmm' - _getOrder() Respects now vmm.cfg/maildir/diskusage settings * 'VirtualMailManager/VirtualMailManager.py' - Adds a warning if a directory not exists + VirtualMailManager.__getDiskUsage() + VirtualMailManager.__maildirdelete() + VirtualMailManager.__domdirdelete() - Implemented + VirtualMailManager.__isdir() + VirtualMailManager.cfgGetBoolean() + VirtualMailManager.cfgGetInt() + VirtualMailManager.cfgGetString() * 'po/de.po' * 'po/vmm.pot' - updated diff -r 8dcf739fc97e -r ab0748a5da9a ChangeLog --- a/ChangeLog Tue Jun 17 00:37:23 2008 +0000 +++ b/ChangeLog Wed Aug 06 22:11:17 2008 +0000 @@ -1,4 +1,21 @@ === 0.0.0 === +2008-08-06 Pascal Volk + + * vmm (_getOrder): + Respect vmm.cfg/maildir/diskusage settings + * VirtualMailManager/VirtualMailManager.py: + Adds a warning if a directory not exists: + VirtualMailManager.__getDiskUsage() + VirtualMailManager.__maildirdelete() + VirtualMailManager.__domdirdelete() + Implemented: + VirtualMailManager.__isdir() + VirtualMailManager.cfgGetBoolean() + VirtualMailManager.cfgGetInt() + VirtualMailManager.cfgGetString() + * po/vmm.pot, po/de.po: + Updated + 2008-05-25 Pascal Volk * VirtualMailManager/VirtualMailManager.py (VirtualMailManager): diff -r 8dcf739fc97e -r ab0748a5da9a VirtualMailManager/VirtualMailManager.py --- a/VirtualMailManager/VirtualMailManager.py Tue Jun 17 00:37:23 2008 +0000 +++ b/VirtualMailManager/VirtualMailManager.py Wed Aug 06 22:11:17 2008 +0000 @@ -247,8 +247,17 @@ Keyword arguments: directory -- the directory to summarize recursively disk usage for """ - return Popen([self.__Cfg.get('bin', 'du'), "-hs", directory], + if self.__isdir(directory): + return Popen([self.__Cfg.get('bin', 'du'), "-hs", directory], stdout=PIPE).communicate()[0].split('\t')[0] + else: + return 0 + + def __isdir(self, directory): + isdir = os.path.isdir(directory) + if not isdir: + self.__warnings.append(_('No such directory: %s') % directory) + return isdir def __makedir(self, directory, mode=None, uid=None, gid=None): if mode is None: @@ -316,9 +325,14 @@ _('FATAL: owner/group mismatch in maildir detected'), ERR.MAILDIR_PERM_MISMATCH)) rmtree(maildir, ignore_errors=True) + else: + self.__warnings.append(_('No such directory: %s/%s') % + (domdir,uid)) def __domdirdelete(self, domdir, gid): if gid > 0: + if not self.__isdir(domdir): + return basedir = '%s' % self.__Cfg.get('domdir', 'base') domdirdirs = domdir.replace(basedir+'/', '').split('/') if basedir.count('..') or domdir.count('..'): @@ -402,6 +416,15 @@ """Returns a list with all available warnings.""" return self.__warnings + def cfgGetBoolean(self, section, option): + return self.__Cfg.getboolean(section, option) + + def cfgGetInt(self, section, option): + return self.__Cfg.getint(section, option) + + def cfgGetString(self, section, option): + return self.__Cfg.get(section, option) + def setupIsDone(self): """Checks if vmm is configured, returns bool""" try: diff -r 8dcf739fc97e -r ab0748a5da9a po/de.po --- a/po/de.po Tue Jun 17 00:37:23 2008 +0000 +++ b/po/de.po Wed Aug 06 22:11:17 2008 +0000 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: vmm 0.4\n" -"POT-Creation-Date: 2008-06-11 06:25+CEST\n" -"PO-Revision-Date: 2008-06-11 06:30+0200\n" +"POT-Creation-Date: 2008-08-06 23:07+CEST\n" +"PO-Revision-Date: 2008-06-11 23:09+0200\n" "Last-Translator: Pascal Volk \n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -30,7 +30,7 @@ #: VirtualMailManager/Account.py:99 VirtualMailManager/Account.py:156 #: VirtualMailManager/Account.py:183 VirtualMailManager/Account.py:211 #: VirtualMailManager/Account.py:230 -#: VirtualMailManager/VirtualMailManager.py:554 +#: VirtualMailManager/VirtualMailManager.py:577 msgid "Account doesn't exists" msgstr "Der Account existiert nicht" @@ -203,23 +203,31 @@ msgid "Sorry, passwords do not match" msgstr "Entschuldigung, die Passwörter stimmen nicht überein" -#: VirtualMailManager/VirtualMailManager.py:308 +#: VirtualMailManager/VirtualMailManager.py:259 +msgid "No such directory: %s" +msgstr "Verzeichnis nicht gefunden: %s" + +#: VirtualMailManager/VirtualMailManager.py:317 msgid "FATAL: \"..\" in maildir path detected." msgstr "FATAL: \"..\" im Pfad zum Maildir entdeckt." -#: VirtualMailManager/VirtualMailManager.py:316 +#: VirtualMailManager/VirtualMailManager.py:325 msgid "FATAL: owner/group mismatch in maildir detected" msgstr "FATAL: Maildir gehört dem/der falschen Benutzer/Gruppe." -#: VirtualMailManager/VirtualMailManager.py:326 +#: VirtualMailManager/VirtualMailManager.py:329 +msgid "No such directory: %s/%s" +msgstr "Verzeichnis nicht gefunden: %s/%s" + +#: VirtualMailManager/VirtualMailManager.py:340 msgid "FATAL: \"..\" in domain directory path detected." msgstr "FATAL: \"..\" im Pfad zum Domain-Verzeichnis entdeckt." -#: VirtualMailManager/VirtualMailManager.py:332 +#: VirtualMailManager/VirtualMailManager.py:346 msgid "FATAL: group mismatch in domain directory detected" msgstr "FATAL: Domain-Verzeichnis gehört der falschen Gruppe" -#: VirtualMailManager/VirtualMailManager.py:410 +#: VirtualMailManager/VirtualMailManager.py:433 msgid "" "Configurtion error: \"%s\"\n" "(in section \"connfig\", option \"done\")'\n" @@ -229,20 +237,20 @@ "(im Abschnitt \"connfig\", Option \"done\")'\n" "Siehe auch: vmm.cfg(5)\n" -#: VirtualMailManager/VirtualMailManager.py:429 +#: VirtualMailManager/VirtualMailManager.py:452 msgid "Invalid section: '%s'" msgstr "Ungültiger Abschnitt: '%s'" -#: VirtualMailManager/VirtualMailManager.py:443 -#: VirtualMailManager/VirtualMailManager.py:453 +#: VirtualMailManager/VirtualMailManager.py:466 +#: VirtualMailManager/VirtualMailManager.py:476 msgid "Invalid argument: '%s'" msgstr "Ungültiges Argument: '%s'" -#: VirtualMailManager/VirtualMailManager.py:482 +#: VirtualMailManager/VirtualMailManager.py:505 msgid "Invalid argument" msgstr "Ungültiges Argument" -#: VirtualMailManager/VirtualMailManager.py:500 +#: VirtualMailManager/VirtualMailManager.py:523 msgid "The pattern '%s' contains invalid characters." msgstr "Das Muster '%s' enthält ungültige Zeichen." @@ -258,11 +266,11 @@ " Unterbefehl Objekt args (* = optional)\n" "\n" -#: vmm:61 vmm:70 vmm:307 vmm:357 +#: vmm:61 vmm:70 vmm:305 vmm:355 msgid "Error" msgstr "Fehler" -#: vmm:80 vmm:354 +#: vmm:80 vmm:352 msgid "Ouch" msgstr "Autsch" @@ -314,39 +322,39 @@ msgid "Missing new transport." msgstr "Neuer Transport fehlt." -#: vmm:192 vmm:202 vmm:208 vmm:232 vmm:240 vmm:248 +#: vmm:192 vmm:201 vmm:207 vmm:231 vmm:239 vmm:247 msgid "Missing e-mail address." msgstr "E-Mail-Adresse fehlt." -#: vmm:216 +#: vmm:215 msgid "Missing e-mail address and users name." msgstr "E-Mail-Adresse und der Name des Benutzers fehlen." -#: vmm:218 +#: vmm:217 msgid "Missing users name." msgstr "Name des Benutzers fehlt." -#: vmm:224 +#: vmm:223 msgid "Missing e-mail address and transport." msgstr "E-Mail-Adresse und Transport fehlen." -#: vmm:226 +#: vmm:225 msgid "Missing transport." msgstr "Transport fehlt." -#: vmm:258 +#: vmm:256 msgid "Missing alias address and destination." msgstr "Alias- und Ziel-Adresse fehlen." -#: vmm:264 vmm:270 +#: vmm:262 vmm:268 msgid "Missing alias address" msgstr "Alias-Adresse fehlt." -#: vmm:278 +#: vmm:276 msgid "Missing userid" msgstr "Keine UID angegeben." -#: vmm:290 +#: vmm:288 msgid "" "\n" "Warnings:" @@ -354,6 +362,6 @@ "\n" "Warnungen:" -#: vmm:351 +#: vmm:349 msgid "Unknown subcommand" msgstr "Unbekannter Unterbefehl" diff -r 8dcf739fc97e -r ab0748a5da9a po/vmm.pot --- a/po/vmm.pot Tue Jun 17 00:37:23 2008 +0000 +++ b/po/vmm.pot Wed Aug 06 22:11:17 2008 +0000 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2008-06-11 06:25+CEST\n" +"POT-Creation-Date: 2008-08-06 23:07+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,7 +30,7 @@ #: VirtualMailManager/Account.py:99 VirtualMailManager/Account.py:156 #: VirtualMailManager/Account.py:183 VirtualMailManager/Account.py:211 #: VirtualMailManager/Account.py:230 -#: VirtualMailManager/VirtualMailManager.py:554 +#: VirtualMailManager/VirtualMailManager.py:577 msgid "Account doesn't exists" msgstr "" @@ -201,43 +201,51 @@ msgid "Sorry, passwords do not match" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:308 +#: VirtualMailManager/VirtualMailManager.py:259 +msgid "No such directory: %s" +msgstr "" + +#: VirtualMailManager/VirtualMailManager.py:317 msgid "FATAL: \"..\" in maildir path detected." msgstr "" -#: VirtualMailManager/VirtualMailManager.py:316 +#: VirtualMailManager/VirtualMailManager.py:325 msgid "FATAL: owner/group mismatch in maildir detected" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:326 +#: VirtualMailManager/VirtualMailManager.py:329 +msgid "No such directory: %s/%s" +msgstr "" + +#: VirtualMailManager/VirtualMailManager.py:340 msgid "FATAL: \"..\" in domain directory path detected." msgstr "" -#: VirtualMailManager/VirtualMailManager.py:332 +#: VirtualMailManager/VirtualMailManager.py:346 msgid "FATAL: group mismatch in domain directory detected" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:410 +#: VirtualMailManager/VirtualMailManager.py:433 msgid "" "Configurtion error: \"%s\"\n" "(in section \"connfig\", option \"done\")'\n" "see also: vmm.cfg(5)\n" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:429 +#: VirtualMailManager/VirtualMailManager.py:452 msgid "Invalid section: '%s'" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:443 -#: VirtualMailManager/VirtualMailManager.py:453 +#: VirtualMailManager/VirtualMailManager.py:466 +#: VirtualMailManager/VirtualMailManager.py:476 msgid "Invalid argument: '%s'" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:482 +#: VirtualMailManager/VirtualMailManager.py:505 msgid "Invalid argument" msgstr "" -#: VirtualMailManager/VirtualMailManager.py:500 +#: VirtualMailManager/VirtualMailManager.py:523 msgid "The pattern '%s' contains invalid characters." msgstr "" @@ -249,11 +257,11 @@ "\n" msgstr "" -#: vmm:61 vmm:70 vmm:307 vmm:357 +#: vmm:61 vmm:70 vmm:305 vmm:355 msgid "Error" msgstr "" -#: vmm:80 vmm:354 +#: vmm:80 vmm:352 msgid "Ouch" msgstr "" @@ -305,45 +313,45 @@ msgid "Missing new transport." msgstr "" -#: vmm:192 vmm:202 vmm:208 vmm:232 vmm:240 vmm:248 +#: vmm:192 vmm:201 vmm:207 vmm:231 vmm:239 vmm:247 msgid "Missing e-mail address." msgstr "" -#: vmm:216 +#: vmm:215 msgid "Missing e-mail address and users name." msgstr "" -#: vmm:218 +#: vmm:217 msgid "Missing users name." msgstr "" -#: vmm:224 +#: vmm:223 msgid "Missing e-mail address and transport." msgstr "" -#: vmm:226 +#: vmm:225 msgid "Missing transport." msgstr "" -#: vmm:258 +#: vmm:256 msgid "Missing alias address and destination." msgstr "" -#: vmm:264 vmm:270 +#: vmm:262 vmm:268 msgid "Missing alias address" msgstr "" -#: vmm:278 +#: vmm:276 msgid "Missing userid" msgstr "" -#: vmm:290 +#: vmm:288 msgid "" "\n" "Warnings:" msgstr "" -#: vmm:351 +#: vmm:349 msgid "Unknown subcommand" msgstr "" diff -r 8dcf739fc97e -r ab0748a5da9a vmm --- a/vmm Tue Jun 17 00:37:23 2008 +0000 +++ b/vmm Wed Aug 06 22:11:17 2008 +0000 @@ -90,14 +90,14 @@ order = (('domainname', 0), ('gid', 1), ('transport', 0), ('domaindir', 0), ('accounts', 0), ('aliases', 0)) elif sys.argv[1] in ['ui', 'userinfo']: - if argc == 3: + if argc == 4 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)) + else: order = (('address', 0), ('name', 0), ('uid', 1), ('gid', 1), ('transport', 0), ('maildir', 0), ('smtp', 1), ('pop3', 1), ('imap', 1), ('managesieve', 1)) - else: - order = (('address', 0), ('name', 0), ('uid', 1), ('gid', 1), - ('transport', 0), ('maildir', 0), ('disk usage', 0), - ('smtp', 1), ('pop3', 1), ('imap', 1), ('managesieve', 1)) elif sys.argv[1] in ['gu', 'getuser']: order = (('uid', 1), ('gid', 1), ('address', 0)) return order