progress
This commit is contained in:
@@ -263,8 +263,9 @@ class IMAPService:
|
||||
if not imap_folders:
|
||||
return False, "No folders found on IMAP server"
|
||||
|
||||
# Process each folder
|
||||
synced_count = 0
|
||||
# Deduplicate folders by name to prevent creating multiple entries for the same folder
|
||||
unique_folders = []
|
||||
seen_names = set()
|
||||
for imap_folder in imap_folders:
|
||||
folder_name = imap_folder['name']
|
||||
|
||||
@@ -272,6 +273,17 @@ class IMAPService:
|
||||
if folder_name.lower() in ['inbox', 'sent', 'drafts', 'spam', 'trash']:
|
||||
continue
|
||||
|
||||
# Use case-insensitive comparison for deduplication
|
||||
folder_name_lower = folder_name.lower()
|
||||
if folder_name_lower not in seen_names:
|
||||
unique_folders.append(imap_folder)
|
||||
seen_names.add(folder_name_lower)
|
||||
|
||||
# Process each unique folder
|
||||
synced_count = 0
|
||||
for imap_folder in unique_folders:
|
||||
folder_name = imap_folder['name']
|
||||
|
||||
# Handle nested folder names (convert slashes to underscores or keep as-is)
|
||||
# According to requirements, nested folders should be created with slashes in the name
|
||||
display_name = folder_name
|
||||
|
||||
Reference in New Issue
Block a user