Page MenuHomePhorge

D4451.1775386043.diff
No OneTemporary

Authored By
Unknown
Size
4 KB
Referenced Files
None
Subscribers
None

D4451.1775386043.diff

diff --git a/cyruslib.py b/cyruslib.py
--- a/cyruslib.py
+++ b/cyruslib.py
@@ -848,7 +848,7 @@
concat_items = []
for item in data:
if isinstance(item, tuple):
- item = ' '.join([str(x) for x in item])
+ item = (' '.join([str(x) for x in item])).encode('utf-8')
if len(concat_items) > 0:
concat_items.append(item)
@@ -871,7 +871,7 @@
tokens = tokenize(annotation)
folder = tokens[0]
- if folder != mailbox:
+ if mailbox != b'*' and folder != mailbox:
quoted_mailbox = "\"%s\"" % (mailbox)
if folder != quoted_mailbox:
# print("mismatch")
diff --git a/pykolab/imap/__init__.py b/pykolab/imap/__init__.py
--- a/pykolab/imap/__init__.py
+++ b/pykolab/imap/__init__.py
@@ -305,13 +305,13 @@
def folder_quote(self, folder):
return u'"' + str(folder).strip('"') + '"'
- def get_metadata(self, folder):
+ def get_metadata(self, folder, pattern='*'):
"""
Obtain all metadata entries on a folder
"""
metadata = {}
- _metadata = self.imap.getmetadata(self.folder_utf7(folder), '*')
+ _metadata = self.imap.getmetadata(self.folder_utf7(folder), pattern)
for (k, v) in _metadata.items():
metadata[self.folder_utf8(k)] = v
diff --git a/wallace/module_invitationpolicy.py b/wallace/module_invitationpolicy.py
--- a/wallace/module_invitationpolicy.py
+++ b/wallace/module_invitationpolicy.py
@@ -807,7 +807,7 @@
if not imap_proxy_auth(user_rec):
return result
- folders = imap.get_metadata('*')
+ folders = imap.get_metadata('*', FOLDER_TYPE_ANNOTATION)
log.debug(
_("List %r folders for user %r: %r") % (
@@ -820,16 +820,17 @@
(ns_personal, ns_other, ns_shared) = imap.namespaces()
+ _type = _type.encode('utf-8')
_folders = {}
# Filter the folders by type relevance
for folder, metadata in folders.items():
- key = '/shared' + FOLDER_TYPE_ANNOTATION
+ key = ('/shared' + FOLDER_TYPE_ANNOTATION).encode('utf-8')
if key in metadata:
if metadata[key].startswith(_type):
_folders[folder] = metadata
- key = '/private' + FOLDER_TYPE_ANNOTATION
+ key = ('/private' + FOLDER_TYPE_ANNOTATION).encode('utf-8')
if key in metadata:
if metadata[key].startswith(_type):
_folders[folder] = metadata
@@ -857,29 +858,29 @@
if len([_ns for _ns in ns_shared if folder.startswith(_ns)]) > 0:
continue
- key = '/shared' + FOLDER_TYPE_ANNOTATION
+ key = ('/shared' + FOLDER_TYPE_ANNOTATION).encode('utf-8')
if key in metadata:
if metadata[key].startswith(_type):
result.append(folder)
- key = '/private' + FOLDER_TYPE_ANNOTATION
+ key = ('/private' + FOLDER_TYPE_ANNOTATION).encode('utf-8')
if key in metadata:
if metadata[key].startswith(_type):
result.append(folder)
# store default folder in user record
- if metadata[key].endswith('.default'):
+ if metadata[key].endswith(b'.default'):
user_rec['_default_folder'] = folder
continue
# store private and confidential folders in user record
- if metadata[key].endswith('.confidential'):
+ if metadata[key].endswith(b'.confidential'):
if '_confidential_folder' not in user_rec:
user_rec['_confidential_folder'] = folder
continue
- if metadata[key].endswith('.private'):
+ if metadata[key].endswith(b'.private'):
if '_private_folder' not in user_rec:
user_rec['_private_folder'] = folder
@@ -1123,7 +1124,7 @@
imap.folder_utf7(targetfolder),
None,
None,
- saveobj.to_message(creator="Kolab Server <wallace@localhost>").as_string()
+ saveobj.to_message(creator="Kolab Server <wallace@localhost>").as_string().encode('utf-8')
)
return result

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 5, 10:47 AM (10 h, 55 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18833224
Default Alt Text
D4451.1775386043.diff (4 KB)

Event Timeline