Don't silently ignore --exclude-folders when --folders is used too

This commit is contained in:
Sami Samhuri 2022-01-02 13:45:25 -08:00
parent 962b7adc6c
commit c7a53d6a3b

View file

@ -398,8 +398,9 @@ def print_usage():
print (" -d DIR --mbox-dir=DIR Write mbox files to directory. (defaults to cwd)")
print (" -a --append-to-mboxes Append new messages to mbox files. (default)")
print (" -y --yes-overwrite-mboxes Overwite existing mbox files instead of appending.")
print (" -f FOLDERS --folders=FOLDERS Specify which folders to include. Overrides --exclude-folders. Comma separated list.")
print (" --exclude-folders=FOLDERS Specify which folders to exclude. Overridden by --folders. Comma separated list.")
print (" -f FOLDERS --folders=FOLDERS Specify which folders to include. Comma separated list.")
print (" --exclude-folders=FOLDERS Specify which folders to exclude. Comma separated list.")
print (" You cannot use both --folders and --exclude-folders.")
print (" -e --ssl Use SSL. Port defaults to 993.")
print (" -k KEY --key=KEY PEM private key file for SSL. Specify cert, too.")
print (" -c CERT --cert=CERT PEM certificate chain for SSL. Specify key, too.")
@ -644,18 +645,19 @@ def main():
"""Main entry point"""
try:
config = get_config()
if config.get('folders') and config.get('exclude-folders'):
print("ERROR: You cannot use both --folders and --exclude-folders at the same time")
sys.exit(2)
server = connect_and_login(config)
names = get_names(server,config['thunderbird'],config['nospinner'])
exclude_folders = []
if config.get('folders'):
# Takes precedence over --exclude-folders
dirs = list(map(lambda x: x.strip(), config.get('folders').split(',')))
if config['thunderbird']:
dirs = [i.replace("Inbox", "INBOX", 1) if i.startswith("Inbox") else i
for i in dirs]
names = list(filter(lambda x: x[0] in dirs, names))
elif config.get('exclude-folders'):
# Use --exclude-folders option only when --folders is not set
exclude_folders = list(map(lambda x: x.strip(), config.get('exclude-folders').split(',')))
basedir = config.get('basedir')