Fix Mail Maildir paths and oCIS auth
Mail: INBOX is a subfolder (INBOX/cur), not the account root. Removed special-case mapping that pointed INBOX to root dir. Files: oCIS user may differ from MCP user (e.g. stefan -> admin). Added _ocis_user() mapping for WebDAV paths and auth. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+5
-4
@@ -87,15 +87,16 @@ def _discover_folders(acct_path):
|
||||
folders = []
|
||||
for entry in sorted(Path(acct_path).rglob("cur")):
|
||||
rel = str(entry.parent.relative_to(acct_path))
|
||||
if rel == ".":
|
||||
folders.insert(0, "INBOX")
|
||||
elif rel not in folders:
|
||||
if rel != "." and rel not in folders:
|
||||
folders.append(rel)
|
||||
if "INBOX" in folders:
|
||||
folders.remove("INBOX")
|
||||
folders.insert(0, "INBOX")
|
||||
return folders
|
||||
|
||||
|
||||
def _open_folder(acct_path, folder_name):
|
||||
path = acct_path if folder_name == "INBOX" else os.path.join(acct_path, folder_name)
|
||||
path = os.path.join(acct_path, folder_name)
|
||||
return mailbox.Maildir(path, create=False) if os.path.isdir(path) else None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user