]> littlesong.place Git - littlesongplace.git/commitdiff
Add email for import queue
authorChris Fulljames <christian.fulljames@gmail.com>
Wed, 11 Mar 2026 00:07:35 +0000 (20:07 -0400)
committerChris Fulljames <christianfulljames@gmail.com>
Wed, 11 Mar 2026 00:48:27 +0000 (20:48 -0400)
src/littlesongplace/datadir.py
src/littlesongplace/dreams_importer.py
src/littlesongplace/mail.py [new file with mode: 0644]

index b9dfcaa35a65fc8637a64645fd10ddef02b6f354..4aaf7e1020248a1fccbe7f2470df7a2b3ac31e3e 100644 (file)
@@ -34,3 +34,6 @@ def get_vapid_public_key_path():
 def get_vapid_private_key_path():
     return _data_dir / "vapid-private.key"
 
+def get_email_pass_path():
+    return _data_dir / "email-pass.txt"
+
index 923b396dcfa94aceab81e223bcdd943ca49252a9..01a950a3813e950db29a251fa0af75776bd7af9c 100644 (file)
@@ -3,7 +3,7 @@ from datetime import datetime, timezone
 from flask import abort, Blueprint, current_app, get_flashed_messages, session, \
     redirect, render_template, request
 
-from . import auth, db
+from . import auth, db, mail
 from .logutils import flash_and_log
 
 bp = Blueprint("dreams-importer", __name__, url_prefix="/dreams-importer")
@@ -100,6 +100,12 @@ def add_to_queue(songid, indreams_url, duration, fade_out):
 
     current_app.logger.info(f"dreams_importer: Added {queueid} to queue")
     flash_and_log(f"Queued for import from Dreams: {indreams_url}")
+
+    mail.send(
+        "mail@littlesong.place", # To self
+        "Song Queued for Import",
+        f"{session['username']} enqueued a song for import"
+    )
     
     return queueid
 
diff --git a/src/littlesongplace/mail.py b/src/littlesongplace/mail.py
new file mode 100644 (file)
index 0000000..50b1c22
--- /dev/null
@@ -0,0 +1,23 @@
+from . import datadir
+
+import smtplib
+from email.message import EmailMessage
+from email.utils import make_msgid
+
+from_addr = "mail@littlesong.place"
+
+def send(to_addrs, subject, body):
+    with open(datadir.get_email_pass_path(), "r") as epfile:
+        pass = epfile.read().strip()
+
+    msg = EmailMessage()
+    msg["From"] = from_addr
+    msg["To"] = to_addrs
+    msg["Message-ID"] = make_msgid(domain="littlesong.place")
+    msg["Subject"] = subject
+    msg.set_content(body)
+
+    with smtplib.SMTP_SSL("smtp.ionos.com") as smtp:
+        smtp.login("mail@littlesong.place", pass)
+        smtp.send_message(msg)
+