update: added 'directory' parameter

This commit is contained in:
2026-07-16 10:46:10 +08:00
parent 284545655f
commit 225c0b8202
+5 -3
View File
@@ -30,6 +30,7 @@ parser = argparse.ArgumentParser(description="Mailer")
parser.add_argument('account', type=str) parser.add_argument('account', type=str)
parser.add_argument('password', type=str) parser.add_argument('password', type=str)
parser.add_argument('-c', '--column', nargs='+', action='extend') parser.add_argument('-c', '--column', nargs='+', action='extend')
parser.add_argument('-d', '--directory', type=str, default=str(Path.home().joinpath('Downloads')))
parser.add_argument('-t', '--timeout', type=int, default=60) parser.add_argument('-t', '--timeout', type=int, default=60)
parser.add_argument('-i', '--interval', type=int, default=10) parser.add_argument('-i', '--interval', type=int, default=10)
parser.add_argument('-r', '--attempts', type=int, default=3) parser.add_argument('-r', '--attempts', type=int, default=3)
@@ -328,11 +329,11 @@ def main(driver: Chrome, logger = logging.getLogger('main')):
def save(): def save():
try: try:
file = Path('.').joinpath(filename or f'Mailer-{datetime.now().strftime('%Y%m%d-%H%M%S-%f')}.xlsx').resolve() file = Path(parameters['directory']).joinpath(filename or f'Mailer-{datetime.now().strftime('%Y%m%d-%H%M%S-%f')}.xlsx').resolve()
logger.info('Saving file at %s', str(file)) logger.info('Saving document at %s', str(file))
wb.save(file) wb.save(file)
except Exception as e: except Exception as e:
logger.error('Error while writing data to file', exc_info=e) logger.error('Error while writing data', exc_info=e)
exit = sp.pop('exit') exit = sp.pop('exit')
sp.set('exit', lambda: (save() if options.get('writable') and status.value >= 2 else None, exit())) sp.set('exit', lambda: (save() if options.get('writable') and status.value >= 2 else None, exit()))
@@ -589,6 +590,7 @@ if __name__ == '__main__':
"url": WEBMAIL, "url": WEBMAIL,
}], }],
"profile.default_content_setting_values.notifications": 2, "profile.default_content_setting_values.notifications": 2,
'download.default_directory': args.directory,
}) })
with keep.presenting(): with keep.presenting():