61 lines
3.3 KiB
Python
61 lines
3.3 KiB
Python
import sys
|
|
|
|
with open('fotograf-de-scraper/frontend/src/App.tsx', 'r') as f:
|
|
content = f.read()
|
|
|
|
# Replace the generic subject
|
|
old_subject = 'const [emailSubject, setEmailSubject] = useState("Fotos von {Kindernamen}");'
|
|
new_subject = 'const [emailSubject, setEmailSubject] = useState("Die Kindergarten-Fotos von {Kindernamen} sind da! 📸");'
|
|
|
|
# Replace the generic body
|
|
old_body = 'const [emailBody, setEmailBody] = useState("Hallo {Name Käufer},<br><br>deine Fotos sind fertig und warten auf dich! Klicke einfach auf die Links unten, um direkt zu den Galerien zu gelangen:<br><br>{LinksHTML}<br><br>Viel Spaß beim Anschauen!");'
|
|
new_body = 'const [emailBody, setEmailBody] = useState("Hallo {Name Käufer},<br><br>ich hoffe, es geht euch gut! 😊<br><br>Wir haben die wunderschönen Bilder vom Fotoshooting fertiggestellt. Die Fotos von {Kindernamen} sind wirklich ganz toll geworden und warten nun darauf, von euch entdeckt zu werden!<br><br>Klicke einfach auf den untenstehenden Link, um direkt, sicher und bequem zu eurer persönlichen Galerie zu gelangen:<br><br>{LinksHTML}<br><br>Wenn ihr Fragen habt, meldet euch gerne jederzeit bei mir.<br><br>Viel Freude beim Anschauen und Aussuchen der Erinnerungen!");'
|
|
|
|
if old_subject in content and old_body in content:
|
|
content = content.replace(old_subject, new_subject)
|
|
content = content.replace(old_body, new_body)
|
|
|
|
# We also need to add dynamic Einrichtungsname replacement to the parser
|
|
old_parser = """ let subject = emailSubject.replace(/{Kindernamen}/g, row["Kindernamen"]);
|
|
let body = emailBody
|
|
.replace(/{Name Käufer}/g, row["Name Käufer"])
|
|
.replace(/{Kindernamen}/g, row["Kindernamen"])
|
|
.replace(/{LinksHTML}/g, row["LinksHTML"])
|
|
.replace(/\\n/g, "<br>");"""
|
|
|
|
new_parser = """ let einrichtung = selectedJob
|
|
? selectedJob.name.replace(/\\(JOB\\d+\\)\\s*/, '').replace(/Kindergarten\\s+/gi, '').replace(/\\s+\\d{4}$/, '').trim()
|
|
: "eurer Einrichtung";
|
|
let subject = emailSubject
|
|
.replace(/{Kindernamen}/g, row["Kindernamen"])
|
|
.replace(/{Einrichtung}/g, einrichtung);
|
|
let body = emailBody
|
|
.replace(/{Name Käufer}/g, row["Name Käufer"])
|
|
.replace(/{Kindernamen}/g, row["Kindernamen"])
|
|
.replace(/{Einrichtung}/g, einrichtung)
|
|
.replace(/{LinksHTML}/g, row["LinksHTML"])
|
|
.replace(/\\n/g, "<br>");"""
|
|
|
|
content = content.replace(old_parser, new_parser)
|
|
|
|
# Note: We need to replace the parser in the send function too
|
|
old_sender = """ let subject = emailSubject.replace(/{Kindernamen}/g, row["Kindernamen"]);
|
|
let body = emailBody
|
|
.replace(/{Name Käufer}/g, row["Name Käufer"])
|
|
.replace(/{Kindernamen}/g, row["Kindernamen"])
|
|
.replace(/{LinksHTML}/g, row["LinksHTML"])
|
|
.replace(/\\n/g, "<br>");"""
|
|
|
|
content = content.replace(old_sender, new_parser)
|
|
|
|
# Add {Einrichtung} to the hint text in the UI
|
|
old_hint = 'Platzhalter: {Name Käufer}, {Kindernamen}, {LinksHTML}'
|
|
new_hint = 'Platzhalter: {Name Käufer}, {Kindernamen}, {Einrichtung}, {LinksHTML}'
|
|
content = content.replace(old_hint, new_hint)
|
|
|
|
with open('fotograf-de-scraper/frontend/src/App.tsx', 'w') as f:
|
|
f.write(content)
|
|
print("Frontend email template patched")
|
|
else:
|
|
print("Frontend code not found")
|