3 commits - po/POTFILES.in po/pykolab.pot pykolab/xml tests/functional wallace/module_resources.py
Thomas Brüderli
bruederli at kolabsys.com
Tue Mar 4 11:19:11 CET 2014
po/POTFILES.in | 6
po/pykolab.pot | 801 +++++-----
pykolab/xml/attendee.py | 3
tests/functional/test_wallace/test_005_resource_invitation.py | 2
wallace/module_resources.py | 11
5 files changed, 492 insertions(+), 331 deletions(-)
New commits:
commit dd711f06e4e56ecbc6808a992e84f2a5f8e1a746
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Fri Feb 21 02:30:06 2014 -0500
Update localization template with new strings from wallace
diff --git a/po/POTFILES.in b/po/POTFILES.in
index c05fa29..8109c28 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -54,6 +54,7 @@ pykolab/cli/cmd_set_language.py
pykolab/cli/cmd_set_mailbox_acl.py
pykolab/cli/cmd_set_mailbox_metadata.py
pykolab/cli/cmd_set_mail.py
+pykolab/cli/cmd_set_quota.py
pykolab/cli/cmd_sync_mailhost_attrs.py
pykolab/cli/cmd_sync.py
pykolab/cli/cmd_transfer_mailbox.py
@@ -117,6 +118,7 @@ setup-kolab.py
tests/functional/__init__.py
tests/functional/purge_imap.py
tests/functional/purge_users.py
+tests/functional/resource_func.py
tests/functional/synchronize.py
tests/functional/test_auth/__init__.py
tests/functional/test_auth/test_001_ldap.py
@@ -133,6 +135,8 @@ tests/functional/test_wallace/test_001_user_add.py
tests/functional/test_wallace/test_002_footer.py
tests/functional/test_wallace/test_003_nonascii_subject.py
tests/functional/test_wallace/test_004_nonascii_addresses.py
+tests/functional/test_wallace/test_005_resource_add.py
+tests/functional/test_wallace/test_005_resource_invitation.py
tests/functional/test_wap_client/__init__.py
tests/functional/test_wap_client/test_001_connect.py
tests/functional/test_wap_client/test_002_user_add.py
@@ -141,6 +145,7 @@ tests/functional/test_wap_client/test_004_user_add_es_ES.py
tests/functional/test_wap_client/test_005_user_add_de_CH.py
tests/functional/test_wap_client/test_006_form_value_select_options.py
tests/functional/test_wap_client/test_007_policy_uid.py
+tests/functional/test_wap_client/test_008_resource_add.py
tests/functional/user_add.py
tests/__init__.py
tests/unit/__init__.py
@@ -155,6 +160,7 @@ tests/unit/test-007-ldap_syncrepl.py
tests/unit/test-008-sievelib.py
tests/unit/test-009-parse_ldap_uri.py
tests/unit/test-010-transliterate.py
+tests/unit/test-011-wallace_resources.py
test-wallace.py
ucs/kolab_sieve.py
ucs/listener.py
diff --git a/po/pykolab.pot b/po/pykolab.pot
index f703cd2..c3c276a 100644
--- a/po/pykolab.pot
+++ b/po/pykolab.pot
@@ -8,11 +8,10 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-21 16:03+0100\n"
+"POT-Creation-Date: 2014-02-21 02:15-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -66,8 +65,8 @@ msgstr ""
#: ../bin/kolab_smtp_access_policy.py:748
#, python-format
msgid ""
-"Verifying authenticated sender '%(sender)s' with sasl_username "
-"'%(sasl_username)s' for recipient '%(recipient)s'"
+"Verifying authenticated sender '%(sender)s' with sasl_username '%"
+"(sasl_username)s' for recipient '%(recipient)s'"
msgstr ""
#: ../bin/kolab_smtp_access_policy.py:751
@@ -209,86 +208,86 @@ msgstr ""
msgid "Returning action PERMIT: %s"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1342
+#: ../bin/kolab_smtp_access_policy.py:1459
#, python-format
msgid "Returning action REJECT: %s"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1388
+#: ../bin/kolab_smtp_access_policy.py:1505
msgid "Starting to loop for new request"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1395
+#: ../bin/kolab_smtp_access_policy.py:1512
msgid "Timeout for policy request reading exceeded"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1401
+#: ../bin/kolab_smtp_access_policy.py:1518
msgid "End of current request"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1405
+#: ../bin/kolab_smtp_access_policy.py:1522
#, python-format
msgid "Getting line: %s"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1409
+#: ../bin/kolab_smtp_access_policy.py:1526
msgid "Returning request"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1438
+#: ../bin/kolab_smtp_access_policy.py:1555
msgid "Access Policy Options"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1445
+#: ../bin/kolab_smtp_access_policy.py:1562
msgid "SMTP Policy request timeout."
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1451
+#: ../bin/kolab_smtp_access_policy.py:1568
msgid "Verify the recipient access policy."
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1457
+#: ../bin/kolab_smtp_access_policy.py:1574
msgid "Verify the sender access policy."
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1463
+#: ../bin/kolab_smtp_access_policy.py:1580
msgid "Allow unauthenticated senders."
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1477
+#: ../bin/kolab_smtp_access_policy.py:1594
#, python-format
msgid "Got request instance %s"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1486
+#: ../bin/kolab_smtp_access_policy.py:1603
#, python-format
msgid "Request instance %s is in state %s"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1494
+#: ../bin/kolab_smtp_access_policy.py:1611
#, python-format
msgid "Request instance %s is not yet in DATA state"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1506
+#: ../bin/kolab_smtp_access_policy.py:1623
#, python-format
msgid "Request instance %s reached DATA state"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1526
+#: ../bin/kolab_smtp_access_policy.py:1643
#, python-format
msgid "Unhandled exception caught: %r"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1530
+#: ../bin/kolab_smtp_access_policy.py:1647
msgid "Sender access denied"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1532
+#: ../bin/kolab_smtp_access_policy.py:1649
msgid "Recipient access denied"
msgstr ""
-#: ../bin/kolab_smtp_access_policy.py:1534
+#: ../bin/kolab_smtp_access_policy.py:1651
msgid "No objections"
msgstr ""
@@ -296,58 +295,61 @@ msgstr ""
msgid "Cannot load pykolab/logger.py:"
msgstr ""
-#: ../kolabd/__init__.py:49 ../saslauthd/__init__.py:49
-#: ../wallace/__init__.py:69
+#: ../kolabd/__init__.py:49 ../saslauthd/__init__.py:51
+#: ../wallace/__init__.py:68
msgid "Daemon Options"
msgstr ""
-#: ../kolabd/__init__.py:56 ../saslauthd/__init__.py:56
-#: ../wallace/__init__.py:76
+#: ../kolabd/__init__.py:56 ../saslauthd/__init__.py:58
+#: ../wallace/__init__.py:75
msgid "Fork to the background."
msgstr ""
-#: ../kolabd/__init__.py:65 ../saslauthd/__init__.py:65
-#: ../wallace/__init__.py:102
+#: ../kolabd/__init__.py:65 ../saslauthd/__init__.py:67
+#: ../wallace/__init__.py:101
msgid "Path to the PID file to use."
msgstr ""
-#: ../kolabd/__init__.py:74 ../saslauthd/__init__.py:74
-#: ../wallace/__init__.py:119
+#: ../kolabd/__init__.py:74 ../saslauthd/__init__.py:76
+#: ../wallace/__init__.py:118
msgid "Run as user USERNAME"
msgstr ""
-#: ../kolabd/__init__.py:84 ../saslauthd/__init__.py:84
-#: ../wallace/__init__.py:93
+#: ../kolabd/__init__.py:84 ../saslauthd/__init__.py:86
+#: ../wallace/__init__.py:92
msgid "Run as group GROUPNAME"
msgstr ""
-#: ../kolabd/__init__.py:122 ../pykolab/utils.py:210
-#: ../wallace/__init__.py:312
+#: ../kolabd/__init__.py:122 ../pykolab/logger.py:139 ../pykolab/utils.py:234
+#: ../saslauthd/__init__.py:292 ../wallace/__init__.py:312
#, python-format
msgid "Group %s does not exist"
msgstr ""
-#: ../kolabd/__init__.py:131 ../wallace/__init__.py:321
+#: ../kolabd/__init__.py:131 ../saslauthd/__init__.py:301
+#: ../wallace/__init__.py:321
#, python-format
msgid "Switching real and effective group id to %d"
msgstr ""
-#: ../kolabd/__init__.py:153 ../pykolab/utils.py:234
-#: ../wallace/__init__.py:343
+#: ../kolabd/__init__.py:153 ../pykolab/logger.py:159 ../pykolab/utils.py:258
+#: ../saslauthd/__init__.py:323 ../wallace/__init__.py:343
#, python-format
msgid "User %s does not exist"
msgstr ""
-#: ../kolabd/__init__.py:163 ../wallace/__init__.py:353
+#: ../kolabd/__init__.py:163 ../saslauthd/__init__.py:333
+#: ../wallace/__init__.py:353
#, python-format
msgid "Switching real and effective user id to %d"
msgstr ""
-#: ../kolabd/__init__.py:172 ../wallace/__init__.py:362
+#: ../kolabd/__init__.py:172 ../saslauthd/__init__.py:342
+#: ../wallace/__init__.py:362
msgid "Could not change real and effective uid and/or gid"
msgstr ""
-#: ../kolabd/__init__.py:192 ../saslauthd/__init__.py:127
+#: ../kolabd/__init__.py:192 ../saslauthd/__init__.py:133
#: ../wallace/__init__.py:382
msgid "Interrupted by user"
msgstr ""
@@ -356,18 +358,26 @@ msgstr ""
msgid "Traceback occurred, please report a "
msgstr ""
-#: ../kolabd/__init__.py:203 ../saslauthd/__init__.py:135
+#: ../kolabd/__init__.py:203 ../saslauthd/__init__.py:141
#: ../wallace/__init__.py:391
#, python-format
msgid "Type Error: %s"
msgstr ""
-#: ../kolabd/__init__.py:223 ../pykolab/auth/ldap/__init__.py:2046
+#: ../kolabd/__init__.py:230
+msgid "Could not connect to LDAP, is it running?"
+msgstr ""
+
+#: ../kolabd/__init__.py:233 ../pykolab/auth/ldap/__init__.py:2110
#: ../pykolab/cli/cmd_sync.py:36
msgid "Listing domains..."
msgstr ""
-#: ../kolabd/__init__.py:260
+#: ../kolabd/__init__.py:244
+msgid "No domains. Not syncing"
+msgstr ""
+
+#: ../kolabd/__init__.py:275
#, python-format
msgid "added domains: %r, removed domains: %r"
msgstr ""
@@ -422,17 +432,17 @@ msgstr ""
msgid "Starting LDAP..."
msgstr ""
-#: ../pykolab/auth/ldap/cache.py:117
+#: ../pykolab/auth/ldap/cache.py:126
#, python-format
msgid "Inserting cache entry %r"
msgstr ""
-#: ../pykolab/auth/ldap/cache.py:138
+#: ../pykolab/auth/ldap/cache.py:147
#, python-format
msgid "Updating timestamp for cache entry %r"
msgstr ""
-#: ../pykolab/auth/ldap/cache.py:145
+#: ../pykolab/auth/ldap/cache.py:154
#, python-format
msgid "Updating result_attribute for cache entry %r"
msgstr ""
@@ -456,263 +466,297 @@ msgstr ""
msgid "Binding with user_dn %s and password %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:231 ../pykolab/auth/ldap/__init__.py:250
+#: ../pykolab/auth/ldap/__init__.py:231 ../pykolab/auth/ldap/__init__.py:263
#, python-format
msgid "Failed to authenticate as user %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:267
+#: ../pykolab/auth/ldap/__init__.py:249
+#, python-format
+msgid "Error occured, there is no such object: %r"
+msgstr ""
+
+#: ../pykolab/auth/ldap/__init__.py:254
+msgid "Authentication cache failed to clear entry"
+msgstr ""
+
+#: ../pykolab/auth/ldap/__init__.py:260
+#, python-format
+msgid "Exception occured: %r"
+msgstr ""
+
+#: ../pykolab/auth/ldap/__init__.py:280
msgid "Connecting to LDAP..."
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:271
+#: ../pykolab/auth/ldap/__init__.py:284
#, python-format
msgid "Attempting to use LDAP URI %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:425
+#: ../pykolab/auth/ldap/__init__.py:371
+#, python-format
+msgid "Entry ID: %r"
+msgstr ""
+
+#: ../pykolab/auth/ldap/__init__.py:373
+#, python-format
+msgid "Entry DN: %r"
+msgstr ""
+
+#: ../pykolab/auth/ldap/__init__.py:376
+#, python-format
+msgid ""
+"ldap search: (%r, %r, filterstr='(objectclass=*)', attrlist=[ 'dn' ] + %r"
+msgstr ""
+
+#: ../pykolab/auth/ldap/__init__.py:453
#, python-format
msgid "Finding recipient with filter %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:501
+#: ../pykolab/auth/ldap/__init__.py:529
#, python-format
msgid "Finding resource with filter %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:532
+#: ../pykolab/auth/ldap/__init__.py:560
#, python-format
msgid "Using timestamp %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:567
+#: ../pykolab/auth/ldap/__init__.py:595
+msgid "Applying recipient policy disabled through configuration"
+msgstr ""
+
+#: ../pykolab/auth/ldap/__init__.py:600
#, python-format
msgid "Applying recipient policy to %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:584
+#: ../pykolab/auth/ldap/__init__.py:617
#, python-format
msgid "Using mail attributes: %r, with primary %r and "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:595
+#: ../pykolab/auth/ldap/__init__.py:628
#, python-format
msgid "key %r not in entry"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:597
+#: ../pykolab/auth/ldap/__init__.py:630
#, python-format
msgid "key %r is the prim. mail attr."
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:599
+#: ../pykolab/auth/ldap/__init__.py:632
msgid "prim. mail pol. is not empty"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:602
+#: ../pykolab/auth/ldap/__init__.py:635
#, python-format
msgid "key %r is the sec. mail attr."
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:604
+#: ../pykolab/auth/ldap/__init__.py:637
msgid "sec. mail pol. is not empty"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:608 ../pykolab/auth/ldap/__init__.py:622
+#: ../pykolab/auth/ldap/__init__.py:641 ../pykolab/auth/ldap/__init__.py:655
#, python-format
msgid "Attributes %r are not yet available for entry %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:661
+#: ../pykolab/auth/ldap/__init__.py:694
#, python-format
msgid "No results for mail address %s found"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:672
+#: ../pykolab/auth/ldap/__init__.py:705
#, python-format
msgid "1 result for address %s found, verifying"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:682
+#: ../pykolab/auth/ldap/__init__.py:715
#, python-format
msgid "Too bad, primary email address %s "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:693 ../pykolab/auth/ldap/__init__.py:782
+#: ../pykolab/auth/ldap/__init__.py:726 ../pykolab/auth/ldap/__init__.py:815
msgid "Address assigned to us"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:748
+#: ../pykolab/auth/ldap/__init__.py:781
#, python-format
msgid "No results for address %s found"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:759
+#: ../pykolab/auth/ldap/__init__.py:792
#, python-format
msgid "1 result for address %s found, "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:770
+#: ../pykolab/auth/ldap/__init__.py:803
msgid "Too bad, secondary email "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:797
+#: ../pykolab/auth/ldap/__init__.py:830
msgid "Recipient policy composed the following set of secondary "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:808
+#: ../pykolab/auth/ldap/__init__.py:841
#, python-format
msgid "Secondary mail addresses that we want is not None: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:819
+#: ../pykolab/auth/ldap/__init__.py:852
msgid "Avoiding the duplication of the primary mail "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:830
+#: ../pykolab/auth/ldap/__init__.py:863
#, python-format
msgid "Entry is getting secondary mail addresses: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:838
+#: ../pykolab/auth/ldap/__init__.py:871
msgid "Entry did not have any secondary mail "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:855 ../pykolab/auth/ldap/__init__.py:861
+#: ../pykolab/auth/ldap/__init__.py:888 ../pykolab/auth/ldap/__init__.py:894
#, python-format
msgid "secondary_mail_addresses: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:856 ../pykolab/auth/ldap/__init__.py:862
+#: ../pykolab/auth/ldap/__init__.py:889 ../pykolab/auth/ldap/__init__.py:895
#, python-format
msgid "entry[%s]: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:873
+#: ../pykolab/auth/ldap/__init__.py:906
#, python-format
msgid "Entry modifications list: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:901
+#: ../pykolab/auth/ldap/__init__.py:934
#, python-format
msgid "Setting entry attribute %r to %r for %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:937
+#: ../pykolab/auth/ldap/__init__.py:970
#, python-format
msgid ""
"Could not update dn %r:\n"
"%r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:950
+#: ../pykolab/auth/ldap/__init__.py:983
#, python-format
msgid "Using filter %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:965
+#: ../pykolab/auth/ldap/__init__.py:998
#, python-format
msgid "Synchronization is searching against base DN: %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1011
+#: ../pykolab/auth/ldap/__init__.py:1044
#, python-format
msgid "About to consider the user quota for %r (used: %r, "
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1082
+#: ../pykolab/auth/ldap/__init__.py:1115
msgid "Invalid DN, username and/or password."
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1201 ../pykolab/auth/ldap/__init__.py:1214
-#: ../pykolab/auth/ldap/__init__.py:1564 ../pykolab/auth/ldap/__init__.py:1577
+#: ../pykolab/auth/ldap/__init__.py:1234 ../pykolab/auth/ldap/__init__.py:1247
+#: ../pykolab/auth/ldap/__init__.py:1603 ../pykolab/auth/ldap/__init__.py:1616
#, python-format
msgid "Found a subject %r with access %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1315
+#: ../pykolab/auth/ldap/__init__.py:1354
#, python-format
msgid "Entry %s attribute value: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1323
+#: ../pykolab/auth/ldap/__init__.py:1362
#, python-format
msgid "imap.user_mailbox_server(%r) result: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1634 ../pykolab/auth/ldap/__init__.py:1776
+#: ../pykolab/auth/ldap/__init__.py:1673 ../pykolab/auth/ldap/__init__.py:1830
#, python-format
msgid "Result from recipient policy: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1821
+#: ../pykolab/auth/ldap/__init__.py:1885
#, python-format
msgid "Kolab user %s does not have a result attribute %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:1976
+#: ../pykolab/auth/ldap/__init__.py:2040
#, python-format
msgid "Finding domain root dn for domain %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2073
+#: ../pykolab/auth/ldap/__init__.py:2137
msgid "Authentication database DOWN"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2157 ../pykolab/auth/ldap/__init__.py:2205
+#: ../pykolab/auth/ldap/__init__.py:2221 ../pykolab/auth/ldap/__init__.py:2269
#, python-format
msgid "Entry type: %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2230
+#: ../pykolab/auth/ldap/__init__.py:2294
#, python-format
msgid "Done with _synchronize_callback() for entry %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2302
+#: ../pykolab/auth/ldap/__init__.py:2366
msgid "LDAP Search Result Data Entry:"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2318
+#: ../pykolab/auth/ldap/__init__.py:2382
msgid "Entry Change Notification attributes:"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2323
+#: ../pykolab/auth/ldap/__init__.py:2387
#, python-format
msgid "Change Type: %r (%r)"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2331
+#: ../pykolab/auth/ldap/__init__.py:2395
#, python-format
msgid "Previous DN: %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2386
+#: ../pykolab/auth/ldap/__init__.py:2450
#, python-format
msgid "Object %s searched no longer exists"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2396
+#: ../pykolab/auth/ldap/__init__.py:2460
#, python-format
msgid "%d results..."
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2499
+#: ../pykolab/auth/ldap/__init__.py:2563
#, python-format
msgid "Searching with filter %r"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2551
+#: ../pykolab/auth/ldap/__init__.py:2615
#, python-format
msgid "Checking for support for %s on %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2570
+#: ../pykolab/auth/ldap/__init__.py:2634
#, python-format
msgid "Found support for %s"
msgstr ""
-#: ../pykolab/auth/ldap/__init__.py:2615
+#: ../pykolab/auth/ldap/__init__.py:2679
#, python-format
msgid "An error occured using %s: %r"
msgstr ""
@@ -844,11 +888,15 @@ msgstr ""
msgid "Set metadata for folder to ANNOTATION=VALUE"
msgstr ""
-#: ../pykolab/cli/cmd_create_mailbox.py:52
-msgid "Invalid argument"
+#: ../pykolab/cli/cmd_create_mailbox.py:50
+msgid "Create folder on PARTITION."
msgstr ""
#: ../pykolab/cli/cmd_create_mailbox.py:60
+msgid "Invalid argument"
+msgstr ""
+
+#: ../pykolab/cli/cmd_create_mailbox.py:68
msgid "Invalid argument for metadata"
msgstr ""
@@ -868,6 +916,7 @@ msgstr ""
#: ../pykolab/cli/cmd_list_mailbox_metadata.py:54
#: ../pykolab/cli/cmd_set_mailbox_acl.py:54
#: ../pykolab/cli/cmd_set_mailbox_metadata.py:66
+#: ../pykolab/cli/cmd_set_quota.py:46
msgid "Folder name"
msgstr ""
@@ -876,6 +925,7 @@ msgstr ""
#: ../pykolab/cli/cmd_list_mailbox_metadata.py:80
#: ../pykolab/cli/cmd_set_mailbox_acl.py:67
#: ../pykolab/cli/cmd_set_mailbox_metadata.py:94
+#: ../pykolab/cli/cmd_set_quota.py:58
#, python-format
msgid "No such folder %r"
msgstr ""
@@ -1016,20 +1066,20 @@ msgstr ""
msgid "User %s not be unsubscribed from any folders."
msgstr ""
-#: ../pykolab/cli/cmd_rename_mailbox.py:48
+#: ../pykolab/cli/cmd_rename_mailbox.py:52
msgid "No target mailbox name specified"
msgstr ""
-#: ../pykolab/cli/cmd_rename_mailbox.py:50
+#: ../pykolab/cli/cmd_rename_mailbox.py:54
msgid "No source mailbox name specified"
msgstr ""
-#: ../pykolab/cli/cmd_rename_mailbox.py:62
+#: ../pykolab/cli/cmd_rename_mailbox.py:66
#, python-format
msgid "Source folder %r does not exist"
msgstr ""
-#: ../pykolab/cli/cmd_rename_mailbox.py:66
+#: ../pykolab/cli/cmd_rename_mailbox.py:70
#, python-format
msgid "Target folder %r already exists"
msgstr ""
@@ -1055,6 +1105,10 @@ msgstr ""
msgid "Metadata path"
msgstr ""
+#: ../pykolab/cli/cmd_set_quota.py:43 ../pykolab/cli/cmd_set_quota.py:47
+msgid "New quota"
+msgstr ""
+
#: ../pykolab/cli/cmd_sync_mailhost_attrs.py:44
msgid "Delete mailboxes for recipients that do not appear to exist in LDAP."
msgstr ""
@@ -1148,7 +1202,7 @@ msgid "Command '%s' already registered"
msgstr ""
#: ../pykolab/cli/commands.py:193 ../pykolab/setup/components.py:257
-#: ../wallace/modules.py:365
+#: ../wallace/modules.py:369
#, python-format
msgid "Alias for %s"
msgstr ""
@@ -1186,49 +1240,49 @@ msgstr ""
msgid "Delivery to folder active, but no folder name attribute configured"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:357
+#: ../pykolab/cli/sieve/cmd_refresh.py:359
#, python-format
msgid "MANAGEMENT script for user %s contents: %r"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:362
-#: ../pykolab/plugins/sievemgmt/__init__.py:372
+#: ../pykolab/cli/sieve/cmd_refresh.py:364
+#: ../pykolab/plugins/sievemgmt/__init__.py:374
#, python-format
msgid "Uploading script MANAGEMENT failed for user %s"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:364
-#: ../pykolab/plugins/sievemgmt/__init__.py:374
+#: ../pykolab/cli/sieve/cmd_refresh.py:366
+#: ../pykolab/plugins/sievemgmt/__init__.py:376
#, python-format
msgid "Uploading script MANAGEMENT for user %s succeeded"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:375
-#: ../pykolab/plugins/sievemgmt/__init__.py:385
+#: ../pykolab/cli/sieve/cmd_refresh.py:377
+#: ../pykolab/plugins/sievemgmt/__init__.py:387
#, python-format
msgid "Including script %s in USER (for user %s)"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:384
-#: ../pykolab/plugins/sievemgmt/__init__.py:394
+#: ../pykolab/cli/sieve/cmd_refresh.py:386
+#: ../pykolab/plugins/sievemgmt/__init__.py:396
#, python-format
msgid "Uploading script USER failed for user %s"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:386
-#: ../pykolab/plugins/sievemgmt/__init__.py:396
+#: ../pykolab/cli/sieve/cmd_refresh.py:388
+#: ../pykolab/plugins/sievemgmt/__init__.py:398
#, python-format
msgid "Uploading script USER for user %s succeeded"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:414
-#: ../pykolab/plugins/sievemgmt/__init__.py:424
+#: ../pykolab/cli/sieve/cmd_refresh.py:416
+#: ../pykolab/plugins/sievemgmt/__init__.py:426
#, python-format
msgid "Uploading script MASTER failed for user %s"
msgstr ""
-#: ../pykolab/cli/sieve/cmd_refresh.py:416
-#: ../pykolab/plugins/sievemgmt/__init__.py:426
+#: ../pykolab/cli/sieve/cmd_refresh.py:418
+#: ../pykolab/plugins/sievemgmt/__init__.py:428
#, python-format
msgid "Uploading script MASTER for user %s succeeded"
msgstr ""
@@ -1392,62 +1446,62 @@ msgstr ""
msgid "Setting %s to %r (from the default values for CLI options)"
msgstr ""
-#: ../pykolab/conf/__init__.py:514
+#: ../pykolab/conf/__init__.py:518
#, python-format
msgid "Could not execute configuration function: %s"
msgstr ""
-#: ../pykolab/conf/__init__.py:522
+#: ../pykolab/conf/__init__.py:526
#, python-format
msgid "Option %s/%s does not exist in config file %s, pulling from defaults"
msgstr ""
-#: ../pykolab/conf/__init__.py:530 ../pykolab/conf/__init__.py:533
+#: ../pykolab/conf/__init__.py:534 ../pykolab/conf/__init__.py:537
msgid "Option does not exist in defaults."
msgstr ""
-#: ../pykolab/conf/__init__.py:543
+#: ../pykolab/conf/__init__.py:547
#, python-format
msgid "Configuration file %s not readable."
msgstr ""
-#: ../pykolab/conf/__init__.py:546
+#: ../pykolab/conf/__init__.py:550
#, python-format
msgid "Configuration file %s does not exist."
msgstr ""
-#: ../pykolab/conf/__init__.py:551
+#: ../pykolab/conf/__init__.py:555
msgid ""
"WARNING: A negative debug level value does not make this program be any more "
"silent."
msgstr ""
-#: ../pykolab/conf/__init__.py:557
+#: ../pykolab/conf/__init__.py:561
msgid "This program has 9 levels of verbosity. Using the maximum of 9."
msgstr ""
-#: ../pykolab/conf/__init__.py:565 ../pykolab/conf/__init__.py:571
+#: ../pykolab/conf/__init__.py:569 ../pykolab/conf/__init__.py:575
msgid "Cannot start SASL authentication daemon"
msgstr ""
-#: ../pykolab/conf/__init__.py:582
+#: ../pykolab/conf/__init__.py:586
msgid "No imaplib library found."
msgstr ""
-#: ../pykolab/conf/__init__.py:592
+#: ../pykolab/conf/__init__.py:596
msgid "No LMTP class found in the smtplib library."
msgstr ""
-#: ../pykolab/conf/__init__.py:602
+#: ../pykolab/conf/__init__.py:606
msgid "No SMTP class found in the smtplib library."
msgstr ""
-#: ../pykolab/conf/__init__.py:616
+#: ../pykolab/conf/__init__.py:620
#, python-format
msgid "Found you specified a specific set of items to test: %s"
msgstr ""
-#: ../pykolab/conf/__init__.py:624
+#: ../pykolab/conf/__init__.py:628
#, python-format
msgid "Selectively selecting: %s"
msgstr ""
@@ -1632,141 +1686,169 @@ msgstr ""
msgid "%r has no attribute %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:360 ../pykolab/imap/__init__.py:395
+#: ../pykolab/imap/__init__.py:390 ../pykolab/imap/__init__.py:425
#, python-format
msgid "Creating new shared folder %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:420 ../pykolab/imap/__init__.py:625
+#: ../pykolab/imap/__init__.py:450 ../pykolab/imap/__init__.py:672
#, python-format
msgid "Downcasing mailbox name %r"
msgstr ""
-#: ../pykolab/imap/__init__.py:424
+#: ../pykolab/imap/__init__.py:454
#, python-format
msgid "Creating new mailbox for user %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:471
+#: ../pykolab/imap/__init__.py:467
+msgid "Waiting for the Cyrus IMAP Murder to settle..."
+msgstr ""
+
+#: ../pykolab/imap/__init__.py:513
#, python-format
msgid "Creating additional folders for user %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:490
+#: ../pykolab/imap/__init__.py:532
#, python-format
msgid "Waiting for the Cyrus murder to settle... %r"
msgstr ""
-#: ../pykolab/imap/__init__.py:502
+#: ../pykolab/imap/__init__.py:544
#, python-format
msgid "Correcting additional folder name from %r to %r"
msgstr ""
-#: ../pykolab/imap/__init__.py:508
+#: ../pykolab/imap/__init__.py:550
#, python-format
msgid "Mailbox already exists: %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:548
+#: ../pykolab/imap/__init__.py:590
msgid "Subscribing user to the additional folders"
msgstr ""
-#: ../pykolab/imap/__init__.py:563
+#: ../pykolab/imap/__init__.py:604
+msgid "Using the following tests for folder subscriptions:"
+msgstr ""
+
+#: ../pykolab/imap/__init__.py:606
+#, python-format
+msgid " %r"
+msgstr ""
+
+#: ../pykolab/imap/__init__.py:609
#, python-format
msgid "Folder %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:584
+#: ../pykolab/imap/__init__.py:621
#, python-format
msgid "Subscribing %s to folder %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:641 ../pykolab/imap/__init__.py:715
+#: ../pykolab/imap/__init__.py:625
+#, python-format
+msgid "Subscribing %s to folder %s failed: %r"
+msgstr ""
+
+#: ../pykolab/imap/__init__.py:655
+#, python-format
+msgid "Could not rename %s to reside on partition %s"
+msgstr ""
+
+#: ../pykolab/imap/__init__.py:688 ../pykolab/imap/__init__.py:764
#, python-format
msgid "Renaming INBOX from %s to %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:645
+#: ../pykolab/imap/__init__.py:692
#, python-format
msgid "Could not rename INBOX folder %s to %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:647 ../pykolab/imap/__init__.py:719
+#: ../pykolab/imap/__init__.py:694 ../pykolab/imap/__init__.py:768
#, python-format
msgid "Moving INBOX folder %s won't succeed as target folder %s already exists"
msgstr ""
-#: ../pykolab/imap/__init__.py:657
+#: ../pykolab/imap/__init__.py:698
+#, python-format
+msgid "Server for mailbox %r is %r"
+msgstr ""
+
+#: ../pykolab/imap/__init__.py:706
#, python-format
msgid "Looking for folder '%s', we found folders: %r"
msgstr ""
-#: ../pykolab/imap/__init__.py:680
+#: ../pykolab/imap/__init__.py:729
#, python-format
msgid "Setting ACL rights %s for subject %s on folder "
msgstr ""
-#: ../pykolab/imap/__init__.py:691
+#: ../pykolab/imap/__init__.py:740
#, python-format
msgid "Removing ACL rights %s for subject %s on folder "
msgstr ""
-#: ../pykolab/imap/__init__.py:712
+#: ../pykolab/imap/__init__.py:761
#, python-format
msgid "Found old INBOX folder %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:721
+#: ../pykolab/imap/__init__.py:770
#, python-format
msgid "Did not find old folder user/%s to rename"
msgstr ""
-#: ../pykolab/imap/__init__.py:723
+#: ../pykolab/imap/__init__.py:772
msgid "Value for user is not a dictionary"
msgstr ""
#. TODO: Go in fact correct the quota.
-#: ../pykolab/imap/__init__.py:791
+#: ../pykolab/imap/__init__.py:840
#, python-format
msgid "Cannot get current IMAP quota for folder %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:804
+#: ../pykolab/imap/__init__.py:853
#, python-format
msgid "Quota for %s currently is %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:810
+#: ../pykolab/imap/__init__.py:859
#, python-format
msgid "Adjusting authentication database quota for folder %s to %d"
msgstr ""
-#: ../pykolab/imap/__init__.py:815
+#: ../pykolab/imap/__init__.py:864
#, python-format
msgid "Correcting quota for %s to %s (currently %s)"
msgstr ""
-#: ../pykolab/imap/__init__.py:892
+#: ../pykolab/imap/__init__.py:941
#, python-format
msgid "Checking folder: %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:897
+#: ../pykolab/imap/__init__.py:946
#, python-format
msgid "Folder has no corresponding user (1): %s"
msgstr ""
-#: ../pykolab/imap/__init__.py:900
+#: ../pykolab/imap/__init__.py:949
#, python-format
msgid "Folder has no corresponding user (2): %s"
msgstr ""
#. We got user identifier only
-#: ../pykolab/imap/__init__.py:915
+#: ../pykolab/imap/__init__.py:964
msgid "Please don't give us just a user identifier"
msgstr ""
-#: ../pykolab/imap/__init__.py:918
+#: ../pykolab/imap/__init__.py:967
#, python-format
msgid "Deleting folder %s"
msgstr ""
@@ -1775,7 +1857,12 @@ msgstr ""
msgid "Returning thread local configuration"
msgstr ""
-#: ../pykolab/logger.py:124
+#: ../pykolab/logger.py:173 ../pykolab/logger.py:179
+#, python-format
+msgid "Could not change permissions on %s: %r"
+msgstr ""
+
+#: ../pykolab/logger.py:196
#, python-format
msgid "Cannot log to file %s: %s"
msgstr ""
@@ -1932,18 +2019,22 @@ msgstr ""
msgid "Setup IMAP."
msgstr ""
-#: ../pykolab/setup/setup_imap.py:89 ../pykolab/setup/setup_imap.py:114
+#: ../pykolab/setup/setup_imap.py:89
msgid "Could not write out Cyrus IMAP configuration file /etc/imapd.conf"
msgstr ""
+#: ../pykolab/setup/setup_imap.py:114
+msgid "Could not write out Cyrus IMAP configuration file /etc/cyrus.conf"
+msgstr ""
+
#: ../pykolab/setup/setup_imap.py:158
msgid "Could not start the cyrus-imapd and kolab-saslauthd services."
msgstr ""
#: ../pykolab/setup/setup_imap.py:173 ../pykolab/setup/setup_kolabd.py:81
-#: ../pykolab/setup/setup_ldap.py:424 ../pykolab/setup/setup_mta.py:432
-#: ../pykolab/setup/setup_mysql.py:58 ../pykolab/setup/setup_roundcube.py:211
-#: ../pykolab/setup/setup_syncroton.py:75
+#: ../pykolab/setup/setup_ldap.py:426 ../pykolab/setup/setup_mta.py:455
+#: ../pykolab/setup/setup_mysql.py:58 ../pykolab/setup/setup_roundcube.py:234
+#: ../pykolab/setup/setup_syncroton.py:102
msgid "Could not configure to start on boot, the "
msgstr ""
@@ -2109,11 +2200,11 @@ msgstr ""
msgid "Root DN to use"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:323
+#: ../pykolab/setup/setup_ldap.py:325
msgid "No directory server setup tool available."
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:335
+#: ../pykolab/setup/setup_ldap.py:337
msgid ""
"\n"
" Setup is now going to set up the 389 Directory Server. "
@@ -2124,11 +2215,11 @@ msgid ""
" "
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:342
+#: ../pykolab/setup/setup_ldap.py:344
msgid "Setting up 389 Directory Server"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:354
+#: ../pykolab/setup/setup_ldap.py:356
msgid ""
"\n"
" An error was detected in the setup procedure for "
@@ -2142,27 +2233,27 @@ msgid ""
" "
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:371
+#: ../pykolab/setup/setup_ldap.py:373
msgid "Setup DS stdout:"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:374
+#: ../pykolab/setup/setup_ldap.py:376
msgid "Setup DS stderr:"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:400
+#: ../pykolab/setup/setup_ldap.py:402
msgid "Could not copy the LDAP extensions for Kolab"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:403
+#: ../pykolab/setup/setup_ldap.py:405
msgid "Could not find the ldap Kolab schema file"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:415
+#: ../pykolab/setup/setup_ldap.py:417
msgid "Could not start the directory server service."
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:429
+#: ../pykolab/setup/setup_ldap.py:431
msgid ""
"\n"
" Please supply a Cyrus Administrator password. This\n"
@@ -2174,11 +2265,11 @@ msgid ""
" "
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:439
+#: ../pykolab/setup/setup_ldap.py:441
msgid "Cyrus Administrator password"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:446
+#: ../pykolab/setup/setup_ldap.py:448
msgid ""
"\n"
" Please supply a Kolab Service account password. "
@@ -2191,59 +2282,59 @@ msgid ""
" "
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:455
+#: ../pykolab/setup/setup_ldap.py:457
msgid "Kolab Service password"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:465
+#: ../pykolab/setup/setup_ldap.py:467
msgid "Writing out configuration to kolab.conf"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:479
+#: ../pykolab/setup/setup_ldap.py:481
msgid "Inserting service users into LDAP."
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:553
+#: ../pykolab/setup/setup_ldap.py:555
msgid "Writing out cn=kolab,cn=config"
msgstr ""
#. TODO: Add kolab-admin role
#. TODO: Assign kolab-admin admin ACLs
-#: ../pykolab/setup/setup_ldap.py:577
+#: ../pykolab/setup/setup_ldap.py:579
#, python-format
msgid "Adding domain %s to list of domains for this deployment"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:603
+#: ../pykolab/setup/setup_ldap.py:607
msgid "Disabling anonymous binds"
msgstr ""
#. TODO: Ensure the uid attribute is unique
#. TODO^2: Consider renaming the general "attribute uniqueness to "uid attribute uniqueness"
-#: ../pykolab/setup/setup_ldap.py:611
+#: ../pykolab/setup/setup_ldap.py:615
msgid "Enabling attribute uniqueness plugin"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:617
+#: ../pykolab/setup/setup_ldap.py:621
msgid "Enabling referential integrity plugin"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:623
+#: ../pykolab/setup/setup_ldap.py:627
msgid "Enabling and configuring account policy plugin"
msgstr ""
#. TODO: Add kolab-admin role
-#: ../pykolab/setup/setup_ldap.py:638
+#: ../pykolab/setup/setup_ldap.py:642
msgid "Adding the kolab-admin role"
msgstr ""
#. TODO: User writeable attributes on root_dn
-#: ../pykolab/setup/setup_ldap.py:649
+#: ../pykolab/setup/setup_ldap.py:653
#, python-format
msgid "Setting access control to %s"
msgstr ""
-#: ../pykolab/setup/setup_ldap.py:675
+#: ../pykolab/setup/setup_ldap.py:679
msgid "Could not start and configure to start on boot, the "
msgstr ""
@@ -2251,24 +2342,24 @@ msgstr ""
msgid "Setup MTA."
msgstr ""
-#: ../pykolab/setup/setup_mta.py:297 ../pykolab/setup/setup_php.py:106
+#: ../pykolab/setup/setup_mta.py:317 ../pykolab/setup/setup_php.py:106
#, python-format
msgid "Setting key %r to %r"
msgstr ""
-#: ../pykolab/setup/setup_mta.py:330
+#: ../pykolab/setup/setup_mta.py:350
msgid "Could not write out Postfix configuration file /etc/postfix/master.cf"
msgstr ""
-#: ../pykolab/setup/setup_mta.py:374
-msgid "Could not write out Amavis configuration file /etc/amavisd/amavisd.conf"
+#: ../pykolab/setup/setup_mta.py:397
+msgid "Could not write out Amavis configuration file amavisd.conf"
msgstr ""
-#: ../pykolab/setup/setup_mta.py:382
+#: ../pykolab/setup/setup_mta.py:405
msgid "Not writing out any configuration for Amavis."
msgstr ""
-#: ../pykolab/setup/setup_mta.py:414
+#: ../pykolab/setup/setup_mta.py:437
msgid "Could not start the postfix, clamav and amavisd services services."
msgstr ""
@@ -2280,11 +2371,15 @@ msgstr ""
msgid "Could not start the MySQL database service."
msgstr ""
-#: ../pykolab/setup/setup_mysql.py:68
+#. Regular old-fashioned Enterprise Linux
+#. Debian
+#. (open)SUSE
+#. "Unbreakable" Linux from Oracle
+#: ../pykolab/setup/setup_mysql.py:71
msgid "What MySQL server are we setting up?"
msgstr ""
-#: ../pykolab/setup/setup_mysql.py:72
+#: ../pykolab/setup/setup_mysql.py:75
msgid ""
"\n"
" Please supply the root password for MySQL, so we can "
@@ -2294,11 +2389,13 @@ msgid ""
" "
msgstr ""
-#: ../pykolab/setup/setup_mysql.py:79 ../pykolab/setup/setup_mysql.py:96
+#: ../pykolab/setup/setup_mysql.py:82 ../pykolab/setup/setup_mysql.py:99
+#: ../pykolab/setup/setup_roundcube.py:180
+#: ../pykolab/setup/setup_syncroton.py:63
msgid "MySQL root password"
msgstr ""
-#: ../pykolab/setup/setup_mysql.py:85
+#: ../pykolab/setup/setup_mysql.py:88
msgid ""
"\n"
" Please supply a root password for MySQL. This "
@@ -2313,7 +2410,7 @@ msgid ""
" "
msgstr ""
-#: ../pykolab/setup/setup_mysql.py:136
+#: ../pykolab/setup/setup_mysql.py:139
msgid ""
"\n"
" Please supply a password for the MySQL user "
@@ -2324,11 +2421,11 @@ msgid ""
" "
msgstr ""
-#: ../pykolab/setup/setup_mysql.py:144
+#: ../pykolab/setup/setup_mysql.py:147
msgid "MySQL kolab password"
msgstr ""
-#: ../pykolab/setup/setup_mysql.py:162
+#: ../pykolab/setup/setup_mysql.py:165
msgid "Could not find the MySQL Kolab schema file"
msgstr ""
@@ -2389,22 +2486,22 @@ msgstr ""
msgid "MySQL roundcube password"
msgstr ""
-#: ../pykolab/setup/setup_roundcube.py:116
+#: ../pykolab/setup/setup_roundcube.py:117
#, python-format
msgid "Using template file %r"
msgstr ""
-#: ../pykolab/setup/setup_roundcube.py:123
+#: ../pykolab/setup/setup_roundcube.py:124
#, python-format
msgid "Successfully compiled template %r, writing out to %r"
msgstr ""
-#: ../pykolab/setup/setup_roundcube.py:155
+#: ../pykolab/setup/setup_roundcube.py:157
msgid "Roundcube installation path not found."
msgstr ""
-#: ../pykolab/setup/setup_roundcube.py:202
-#: ../pykolab/setup/setup_syncroton.py:66
+#: ../pykolab/setup/setup_roundcube.py:225
+#: ../pykolab/setup/setup_syncroton.py:93
msgid "Could not start the webserver server service."
msgstr ""
@@ -2437,65 +2534,65 @@ msgstr ""
msgid "No database available"
msgstr ""
-#: ../pykolab/utils.py:61 ../pykolab/utils.py:63
+#: ../pykolab/utils.py:62 ../pykolab/utils.py:64
#, python-format
msgid "Confirm %s: "
msgstr ""
-#: ../pykolab/utils.py:66
+#: ../pykolab/utils.py:67
msgid "Incorrect confirmation. "
msgstr ""
-#: ../pykolab/utils.py:71 ../pykolab/utils.py:76
+#: ../pykolab/utils.py:72 ../pykolab/utils.py:77
#, python-format
msgid "%s: "
msgstr ""
-#: ../pykolab/utils.py:73 ../pykolab/utils.py:78
+#: ../pykolab/utils.py:74 ../pykolab/utils.py:79
#, python-format
msgid "%s [%s]: "
msgstr ""
-#: ../pykolab/utils.py:123
+#: ../pykolab/utils.py:124
msgid "Please answer 'yes' or 'no'."
msgstr ""
-#: ../pykolab/utils.py:163
+#: ../pykolab/utils.py:164
msgid "Choice"
msgstr ""
-#: ../pykolab/utils.py:166
+#: ../pykolab/utils.py:167
msgid "Choice (type '?' for options)"
msgstr ""
-#: ../pykolab/utils.py:244
+#: ../pykolab/utils.py:268
#, python-format
msgid "Could not change the permissions on %s"
msgstr ""
-#: ../pykolab/utils.py:452
+#: ../pykolab/utils.py:476
#, python-format
msgid "Transliterating string %r with locale %r"
msgstr ""
-#: ../pykolab/utils.py:460
+#: ../pykolab/utils.py:484
msgid "Attempting to set locale"
msgstr ""
-#: ../pykolab/utils.py:462
+#: ../pykolab/utils.py:486
msgid "Success setting locale"
msgstr ""
-#: ../pykolab/utils.py:464
+#: ../pykolab/utils.py:488
msgid "Failure to set locale"
msgstr ""
-#: ../pykolab/utils.py:472
+#: ../pykolab/utils.py:496
#, python-format
msgid "Executing '%s | %s'"
msgstr ""
-#: ../pykolab/utils.py:483
+#: ../pykolab/utils.py:507
#, python-format
msgid "Could not translate %s using locale %s"
msgstr ""
@@ -2515,86 +2612,95 @@ msgstr ""
msgid "Response data is not JSON"
msgstr ""
-#: ../pykolab/xml/attendee.py:79 ../pykolab/xml/attendee.py:99
+#: ../pykolab/xml/attendee.py:86 ../pykolab/xml/attendee.py:108
msgid "Not a valid attendee"
msgstr ""
-#: ../pykolab/xml/attendee.py:84
+#: ../pykolab/xml/attendee.py:93
msgid "No valid delegator references found"
msgstr ""
-#: ../pykolab/xml/attendee.py:104
+#: ../pykolab/xml/attendee.py:113
msgid "No valid delegatee references found"
msgstr ""
-#: ../pykolab/xml/attendee.py:140
+#: ../pykolab/xml/attendee.py:149
#, python-format
msgid "Invalid cutype %r"
msgstr ""
-#: ../pykolab/xml/attendee.py:151
+#: ../pykolab/xml/attendee.py:160
#, python-format
msgid "Invalid participant status %r"
msgstr ""
-#: ../pykolab/xml/attendee.py:159
+#: ../pykolab/xml/attendee.py:168
#, python-format
msgid "Invalid role %r"
msgstr ""
-#: ../pykolab/xml/event.py:69 ../pykolab/xml/event.py:745
-#: ../pykolab/xml/event.py:801
+#: ../pykolab/xml/event.py:70 ../pykolab/xml/event.py:570
+#: ../pykolab/xml/event.py:606
msgid "Event start needs datetime.date or datetime.datetime instance"
msgstr ""
-#: ../pykolab/xml/event.py:220
+#: ../pykolab/xml/event.py:198
#, python-format
msgid "No attendee with email or name %r"
msgstr ""
-#: ../pykolab/xml/event.py:228
+#: ../pykolab/xml/event.py:206
#, python-format
msgid "Invalid argument value attendee %r, must be basestring or Attendee"
msgstr ""
-#: ../pykolab/xml/event.py:234
+#: ../pykolab/xml/event.py:212
#, python-format
msgid "No attendee with email %r"
msgstr ""
-#: ../pykolab/xml/event.py:240
+#: ../pykolab/xml/event.py:218
#, python-format
msgid "No attendee with name %r"
msgstr ""
-#: ../pykolab/xml/event.py:398
+#: ../pykolab/xml/event.py:323
msgid "Invalid participant status"
msgstr ""
-#: ../pykolab/xml/event.py:604
+#: ../pykolab/xml/event.py:445
msgid "Event end needs datetime.date or datetime.datetime instance"
msgstr ""
-#: ../pykolab/xml/event.py:724
+#: ../pykolab/xml/event.py:549
#, python-format
msgid "Invalid status %r"
msgstr ""
-#: ../pykolab/xml/event.py:837
+#: ../pykolab/xml/event.py:616
#, python-format
msgid "Invalid status set: %r"
msgstr ""
-#: ../pykolab/xml/event.py:956
+#: ../pykolab/xml/event.py:735
msgid "No sender specified"
msgstr ""
-#: ../saslauthd/__init__.py:97
+#: ../pykolab/xml/event.py:744
+#, python-format
+msgid "Reservation Request for %s was %s"
+msgstr ""
+
+#: ../pykolab/xml/event.py:749
+msgid "This is an automated response to one of your event requests."
+msgstr ""
+
+#: ../saslauthd/__init__.py:99
#, python-format
msgid "Could not create %r: %r"
msgstr ""
-#: ../saslauthd/__init__.py:131 ../saslauthd/__init__.py:139
+#: ../saslauthd/__init__.py:137 ../saslauthd/__init__.py:145
#: ../wallace/__init__.py:386 ../wallace/__init__.py:395
msgid "Traceback occurred, please report a bug at http://bugzilla.kolabsys.com"
msgstr ""
@@ -2607,29 +2713,29 @@ msgstr ""
msgid "Maximum tries exceeded, exiting"
msgstr ""
-#: ../wallace/__init__.py:62
+#: ../wallace/__init__.py:61
#, python-format
msgid "Worker process %s initializing"
msgstr ""
-#: ../wallace/__init__.py:84
+#: ../wallace/__init__.py:83
msgid "Bind address for Wallace."
msgstr ""
-#: ../wallace/__init__.py:110
+#: ../wallace/__init__.py:109
msgid "Port that Wallace is supposed to use."
msgstr ""
-#: ../wallace/__init__.py:161
+#: ../wallace/__init__.py:160
#, python-format
msgid "Could not bind to socket on port %d on bind "
msgstr ""
-#: ../wallace/__init__.py:173
+#: ../wallace/__init__.py:172
msgid "Could not shut down socket"
msgstr ""
-#: ../wallace/__init__.py:237
+#: ../wallace/__init__.py:236
msgid "Accepted connection"
msgstr ""
@@ -2639,19 +2745,19 @@ msgid "Could not write pid file %s"
msgstr ""
#: ../wallace/module_footer.py:60 ../wallace/module_optout.py:61
-#: ../wallace/module_resources.py:93
+#: ../wallace/module_resources.py:109
#, python-format
msgid "Issuing callback after processing to stage %s"
msgstr ""
#: ../wallace/module_footer.py:61 ../wallace/module_optout.py:62
-#: ../wallace/module_resources.py:99
+#: ../wallace/module_resources.py:115
#, python-format
msgid "Testing cb_action_%s()"
msgstr ""
#: ../wallace/module_footer.py:63 ../wallace/module_optout.py:64
-#: ../wallace/module_resources.py:102
+#: ../wallace/module_resources.py:118
#, python-format
msgid "Attempting to execute cb_action_%s()"
msgstr ""
@@ -2682,163 +2788,212 @@ msgstr ""
msgid "Could not send request to optout_url %s"
msgstr ""
-#: ../wallace/module_resources.py:80
+#: ../wallace/module_resources.py:96
#, python-format
msgid "Resource Management called for %r, %r"
msgstr ""
-#: ../wallace/module_resources.py:143
+#: ../wallace/module_resources.py:159
msgid "Message is not an iTip message or does not contain any "
msgstr ""
-#: ../wallace/module_resources.py:151
+#: ../wallace/module_resources.py:167
msgid "iTip events attached to this message contain the "
msgstr ""
-#: ../wallace/module_resources.py:171
+#: ../wallace/module_resources.py:188
msgid "Not an iTip message, but sent to resource nonetheless. Reject message"
msgstr ""
-#: ../wallace/module_resources.py:179
+#: ../wallace/module_resources.py:196
msgid "No itips, no resources, pass along"
msgstr ""
-#: ../wallace/module_resources.py:183
+#: ../wallace/module_resources.py:200
msgid "iTips, but no resources, pass along"
msgstr ""
-#: ../wallace/module_resources.py:215
-#, python-format
-msgid "Resources: %r"
-msgstr ""
-
#: ../wallace/module_resources.py:233
#, python-format
-msgid "Checking events in resource folder %r"
+msgid "Resources: %r; %r"
msgstr ""
-#: ../wallace/module_resources.py:240
+#: ../wallace/module_resources.py:242
#, python-format
-msgid "Mailbox for resource %r doesn't exist"
+msgid "Receiving Resource: %r; %r"
msgstr ""
-#: ../wallace/module_resources.py:253
+#: ../wallace/module_resources.py:250
#, python-format
-msgid "Fetching message UID %r from folder %r"
+msgid "Recipient %r is non-participant, ignoring message"
msgstr ""
-#: ../wallace/module_resources.py:292
+#: ../wallace/module_resources.py:281
#, python-format
-msgid "Event %r conflicts with event "
+msgid "Failed to read resource calendar for %r: %r"
msgstr ""
-#: ../wallace/module_resources.py:305
+#: ../wallace/module_resources.py:286
#, python-format
-msgid "start: %r, end: %r, total: %r, messages: %r"
+msgid "start: %r, end: %r, total: %r, messages: %d"
msgstr ""
-#: ../wallace/module_resources.py:312
+#: ../wallace/module_resources.py:292
#, python-format
msgid "Polling for resource %r"
msgstr ""
-#: ../wallace/module_resources.py:316
+#: ../wallace/module_resources.py:295
#, python-format
msgid "Resource %r has been popped from the list"
msgstr ""
-#: ../wallace/module_resources.py:323
+#: ../wallace/module_resources.py:299
msgid "Resource is a collection"
msgstr ""
-#: ../wallace/module_resources.py:371 ../wallace/module_resources.py:421
+#: ../wallace/module_resources.py:310
#, python-format
-msgid "Adding event to %r"
+msgid "Removed conflicting resources from %r: (%r) => %r"
msgstr ""
-#: ../wallace/module_resources.py:473
+#: ../wallace/module_resources.py:322
+#, python-format
+msgid "Conflicting events: %r for resource %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:351
+#, python-format
+msgid "Accept invitation for individual resource %r / %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:365
+#, python-format
+msgid "Delegate invitation for resource collection %r to %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:408
+#, python-format
+msgid "Checking events in resource folder %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:424
+#, python-format
+msgid "Fetching message UID %r from folder %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:472
+#, python-format
+msgid "Event %r conflicts with event %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:499
+#, python-format
+msgid "Adding event to %r: %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:537
+#, python-format
+msgid "Failed to save event to resource calendar at %r: %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:553
+#, python-format
+msgid "Delete resource calendar object %r in %r: %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:587
#, python-format
msgid "Method %r not really interesting for us."
msgstr ""
-#: ../wallace/module_resources.py:481
+#: ../wallace/module_resources.py:595
#, python-format
msgid "Raw iTip payload: %s"
msgstr ""
-#: ../wallace/module_resources.py:491
+#: ../wallace/module_resources.py:605
msgid "Could not read iTip from message."
msgstr ""
-#: ../wallace/module_resources.py:513
+#: ../wallace/module_resources.py:613
+#, python-format
+msgid "Duplicate iTip event: %s"
+msgstr ""
+
+#: ../wallace/module_resources.py:638
msgid "iTip event without a start"
msgstr ""
-#. end if c.name == "VEVENT"
-#. end for c in cal.walk()
-#. end if part.get_content_type() == "text/calendar"
-#. end for part in message.walk()
-#. if message.is_multipart()
-#: ../wallace/module_resources.py:543
+#: ../wallace/module_resources.py:676
msgid "Message is not an iTip message (non-multipart message)"
msgstr ""
-#: ../wallace/module_resources.py:564
+#: ../wallace/module_resources.py:705
#, python-format
msgid "Checking if email address %r belongs to a resource (collection)"
msgstr ""
-#: ../wallace/module_resources.py:575 ../wallace/module_resources.py:651
-#: ../wallace/module_resources.py:701
+#: ../wallace/module_resources.py:713 ../wallace/module_resources.py:781
+#: ../wallace/module_resources.py:815
#, python-format
-msgid "No resource (collection) records found for %r"
+msgid "Resource record(s): %r"
msgstr ""
-#: ../wallace/module_resources.py:583 ../wallace/module_resources.py:659
-#: ../wallace/module_resources.py:709
+#: ../wallace/module_resources.py:715 ../wallace/module_resources.py:783
+#: ../wallace/module_resources.py:818
#, python-format
-msgid "Resource record(s): %r"
+msgid "No resource (collection) records found for %r"
msgstr ""
-#: ../wallace/module_resources.py:589 ../wallace/module_resources.py:666
-#: ../wallace/module_resources.py:716
+#: ../wallace/module_resources.py:719 ../wallace/module_resources.py:787
+#: ../wallace/module_resources.py:822
#, python-format
msgid "Resource record: %r"
msgstr ""
-#: ../wallace/module_resources.py:610
+#: ../wallace/module_resources.py:739
#, python-format
msgid "Raw itip_events: %r"
msgstr ""
-#: ../wallace/module_resources.py:618
+#: ../wallace/module_resources.py:747
#, python-format
msgid "Raw set of attendees: %r"
msgstr ""
-#: ../wallace/module_resources.py:626
+#: ../wallace/module_resources.py:755
#, python-format
msgid "Raw set of resources: %r"
msgstr ""
-#: ../wallace/module_resources.py:640
+#: ../wallace/module_resources.py:774
#, python-format
msgid "Checking if attendee %r is a resource (collection)"
msgstr ""
-#: ../wallace/module_resources.py:673 ../wallace/module_resources.py:719
+#: ../wallace/module_resources.py:790 ../wallace/module_resources.py:824
msgid "Resource reservation made but no resource records found"
msgstr ""
-#: ../wallace/module_resources.py:691
+#: ../wallace/module_resources.py:809
#, python-format
msgid "Checking if resource %r is a resource (collection)"
msgstr ""
-#: ../wallace/module_resources.py:723
+#: ../wallace/module_resources.py:827
msgid "The following resources are being referred to in the "
msgstr ""
+#: ../wallace/module_resources.py:867
+#, python-format
+msgid ""
+"\n"
+" Your reservation was delegated to \"%s\"\n"
+" which is available for the requested time.\n"
+" "
+msgstr ""
+
#. This is a nested module
#: ../wallace/modules.py:97
#, python-format
@@ -2859,33 +3014,33 @@ msgstr ""
msgid "Deferring message in %s (by module %s)"
msgstr ""
-#: ../wallace/modules.py:133
+#: ../wallace/modules.py:134
#, python-format
msgid "The time when the message was sent: %r"
msgstr ""
-#: ../wallace/modules.py:134
+#: ../wallace/modules.py:135
#, python-format
msgid "The time now: %r"
msgstr ""
-#: ../wallace/modules.py:135
+#: ../wallace/modules.py:136
#, python-format
msgid "The time delta: %r"
msgstr ""
#. TODO: Send NDR back to user
-#: ../wallace/modules.py:139
+#: ../wallace/modules.py:140
#, python-format
msgid "Message in file %s older then 5 days, deleting"
msgstr ""
-#: ../wallace/modules.py:164
+#: ../wallace/modules.py:165
#, python-format
msgid "Rejecting message in %s (by module %s)"
msgstr ""
-#: ../wallace/modules.py:185
+#: ../wallace/modules.py:186
#, python-format
msgid ""
"This is the email system Wallace at %s.\n"
@@ -2900,39 +3055,29 @@ msgid ""
"recipients.\n"
msgstr ""
-#: ../wallace/modules.py:200
+#: ../wallace/modules.py:201
#, python-format
msgid ""
"X-Wallace-Module: %s\n"
"X-Wallace-Result: REJECT\n"
msgstr ""
-#: ../wallace/modules.py:253
+#: ../wallace/modules.py:260
#, python-format
msgid "Accepting message in %s (by module %s)"
msgstr ""
-#: ../wallace/modules.py:256
+#: ../wallace/modules.py:262
#, python-format
-msgid "Message JSON loaded: %r"
-msgstr ""
-
-#: ../wallace/modules.py:258
-#, python-format
-msgid "Error loading message: %r"
-msgstr ""
-
-#: ../wallace/modules.py:264
-#, python-format
-msgid "Error parsing message: %r"
+msgid "Accepting message in: %r"
msgstr ""
-#: ../wallace/modules.py:267
+#: ../wallace/modules.py:269
#, python-format
-msgid "Accepting message in: %r"
+msgid "recipients: %r"
msgstr ""
-#: ../wallace/modules.py:343
+#: ../wallace/modules.py:347
#, python-format
msgid "Module '%s' already registered"
msgstr ""
diff --git a/wallace/module_resources.py b/wallace/module_resources.py
index c987832..f4940ea 100644
--- a/wallace/module_resources.py
+++ b/wallace/module_resources.py
@@ -865,7 +865,7 @@ def send_response(from_address, itip_events):
participant_status = "DELEGATED"
message_text = _("""
- Your reservation request was delegated to "%s"
+ Your reservation was delegated to "%s"
which is available for the requested time.
""") % (delegatee.get_name())
commit 5c7c65cbc038f454b52b8934fdadc76bb5fd9334
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Fri Feb 21 01:48:56 2014 -0500
Add setter for RSVP status
diff --git a/pykolab/xml/attendee.py b/pykolab/xml/attendee.py
index ffe80f7..68e9d9b 100644
--- a/pykolab/xml/attendee.py
+++ b/pykolab/xml/attendee.py
@@ -167,6 +167,9 @@ class Attendee(kolabformat.Attendee):
else:
raise InvalidAttendeeRoleError, _("Invalid role %r") % (role)
+ def set_rsvp(self, rsvp):
+ self.setRSVP(rsvp)
+
def __str__(self):
return self.email
commit e5eb9d3a14aff55efc9921a575813cd5cbae4a35
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Fri Feb 21 01:48:02 2014 -0500
Set Delegator to NON-PARTICIPANT and RSVP=FALSE according to RFC
diff --git a/tests/functional/test_wallace/test_005_resource_invitation.py b/tests/functional/test_wallace/test_005_resource_invitation.py
index 5afde3c..e464c73 100644
--- a/tests/functional/test_wallace/test_005_resource_invitation.py
+++ b/tests/functional/test_wallace/test_005_resource_invitation.py
@@ -318,7 +318,6 @@ class TestResourceInvitation(unittest.TestCase):
imap.imap.m.expunge()
imap.disconnect()
- time.sleep(1)
def find_resource_by_email(self, email):
@@ -380,6 +379,7 @@ class TestResourceInvitation(unittest.TestCase):
# resource collection responds with a DELEGATED message
response = self.check_message_received("Reservation Request for test was DELEGATED", self.cars['mail'])
self.assertIsInstance(response, email.message.Message)
+ self.assertIn("ROLE=NON-PARTICIPANT;RSVP=FALSE", str(response))
def test_005_rescheduling_reservation(self):
diff --git a/wallace/module_resources.py b/wallace/module_resources.py
index 6aaf64a..c987832 100644
--- a/wallace/module_resources.py
+++ b/wallace/module_resources.py
@@ -373,6 +373,11 @@ def execute(*args, **kw):
#
itip_event['xml'].delegate(original_resource['mail'], _target_resource['mail'], _target_resource['cn'])
+ # set delegator to NON-PARTICIPANT and RSVP=FALSE
+ delegator = itip_event['xml'].get_attendee_by_email(original_resource['mail'])
+ delegator.set_role(kolabformat.NonParticipant)
+ delegator.set_rsvp(False)
+
accept_reservation_request(itip_event, _target_resource, original_resource)
done = True
@@ -437,6 +442,8 @@ def read_resource_calendar(resource_rec, itip_events):
_ee = to_dt(event.get_end())
_ie = to_dt(itip['end'].dt)
+ # TODO: add margin for all-day dates (+13h; -12h)
+
if _es < _is:
if _es <= _ie:
if _ee <= _is:
@@ -457,7 +464,7 @@ def read_resource_calendar(resource_rec, itip_events):
resource_rec['existing_events'].append(itip['uid'])
# don't register conflict for updates
- if itip['sequence'] > event.get_sequence():
+ if itip['sequence'] > 0 and itip['sequence'] >= event.get_sequence():
conflict = False
if conflict:
More information about the commits
mailing list