X-Git-Url: http://developer.intra2net.com/git/?a=blobdiff_plain;f=src%2Fimap_restore_mail.py;h=093c7a20aa610e18db0a764c25834faab41919c3;hb=d6b222273197a4fb13e30fa28a4865ae6a6aee48;hp=cfdf9cf28a03b77b2acc51871f9a5cc184923fc9;hpb=f72ba42a5466a37e2a59cfc27822af58f64be854;p=imap-restore-mail diff --git a/src/imap_restore_mail.py b/src/imap_restore_mail.py index cfdf9cf..093c7a2 100644 --- a/src/imap_restore_mail.py +++ b/src/imap_restore_mail.py @@ -32,12 +32,12 @@ def main(): # prepare configuration args = configure_args() warnings_handler = prepare_logger() - logging.info("The module restore_mail_inject.py started with user %s, folder %s and source %s.", - args.user, args.folder, args.srcdir) + logging.info("The module restore_mail_inject.py started with user %s, destination %s and source %s.", + args.user, args.destination, args.source) # connect to unix socket or server psw = getpass.getpass() - session = MailIterator(args.user, psw) + session = MailIterator(args.server, args.user, psw) storage = FileIterator() # retrieve mailbox list from the mailbox list file @@ -45,12 +45,12 @@ def main(): # delete olf IMAP folders if no append requested if not args.append: - session.delete_mailboxes(args.folder) - if args.folder == "INBOX": + session.delete_mailboxes(args.destination) + if args.destination == "INBOX": session.clear_inbox_acls(args.user) # inject emails - path_generator = storage.load_mails(args.srcdir, args.folder) + path_generator = storage.load_mails(args.source, args.destination) for message, mailbox, date_modified in path_generator: # mailboxes marked for creating and acl update @@ -78,13 +78,15 @@ def configure_args(): # parse arguments parser = argparse.ArgumentParser(description="Tool to inject mails via IMAP.") - parser.add_argument('-s', '--sourcedir', dest='srcdir', action='store', - required=True, help='folder to read mail from') + parser.add_argument('-d', '--directory', dest='source', action='store', + required=True, help='file directory to read mails from') + parser.add_argument('-s', '--server', dest='server', action='store', + default="localhost", help='imap server name with default localhost') parser.add_argument('-u', '--username', dest='user', action='store', required=True, help='user to store mails to') parser.add_argument('-o', '--ouser', dest='ouser', action='store', default="", help='name of the original user (=username if not specified)') - parser.add_argument('-f', '--foldername', dest='folder', action='store', + parser.add_argument('-f', '--foldername', dest='destination', action='store', default="INBOX", help='folder to store mails to - if not specified we overwrite INBOX') parser.add_argument('-m', '--mboxlistfile', dest='mboxlistfile', action='store', default="", help='mboxlist file (flat file format) to read the ACLs from') @@ -92,8 +94,9 @@ def configure_args(): default=False, help="append mails, don't delete anything") args = parser.parse_args() - if (args.folder != "INBOX"): - args.folder = "INBOX/" + args.folder + # some default post processing of arguments + if (args.destination != "INBOX"): + args.destination = "INBOX/" + args.destination if (args.ouser == ""): args.ouser = args.user