From 96c673f837ec23a34fbec0672beed48a5ebdbec0 Mon Sep 17 00:00:00 2001 From: Niklas Meinzer Date: Sat, 15 Feb 2025 12:37:05 +0100 Subject: [PATCH] feat: Read mail credentials from env Close #1 --- main.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/main.py b/main.py index 8199702..3182f77 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,10 @@ import argparse +import os import secrets import smtplib import string import subprocess +import sys from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText @@ -106,21 +108,24 @@ def create_user( mail_password, ) - if __name__ == "__main__": parser = argparse.ArgumentParser( description="Creates Yunohost user from a csv file and sends them an email with the password", ) parser.add_argument("filename", help="Input file name") - parser.add_argument( - "mail_user", help="This user will be used to send the confirmation mail" - ) - parser.add_argument( - "mail_password", help="This password will be used to send the confirmation mail" - ) parser.add_argument("--dry-run", action="store_true") args = parser.parse_args() + mail_password = os.environ.get("MAIL_PASSWORD", None) + mail_user = os.environ.get("MAIL_USER", None) + + if mail_user is None: + print("Missing environment variable: MAIL_USER") + sys.exit(1) + if mail_password is None: + print("Missing environment variable: MAIL_PASSWORD") + sys.exit(1) + with open(args.filename, "r") as f: data = f.readlines() @@ -131,7 +136,7 @@ if __name__ == "__main__": create_user( *line.strip().split(","), mail_text=email_text, - mail_user=args.mail_user, - mail_password=args.mail_password, + mail_user=mail_user, + mail_password=mail_password, dry_run=args.dry_run, )