Files
Tirsvad 7d139f86c7 MIL-006 wiki in three languages
Delivers MIL-006 tasks 1 to 4: the wiki pages in `docs/wiki/` in English, Danish and Bahasa Malaysia (Home plus one page per lecture step, each with its screenshot and a "what we gained" section, and a shared `_Sidebar.md`), laid out as `framework/process/wiki.md` says (English without suffix, `-da` and `-ms` for the others, a language line on every page). The README links to the wiki.

Checked: the three languages have the same five pages; every page starts with the language line; code, commands and file names stay in English. There is no QC checklist for wiki pages, so there is no RC record. Publishing to the host's wiki (task 5, issue #31) follows after this merge.

Task: MIL-006#1
Task: MIL-006#2
Task: MIL-006#3
Task: MIL-006#4
2026-10-28 14:50:58 +08:00

1.4 KiB

Trin 2: e-mail-alarm

🌐 English · Dansk · Bahasa Melayu

Opgave. Når prisen er under en målpris (100), send en e-mail til dig selv med produktets titel, prisen og et link til at købe det. Hold e-mailadresse og adgangskode ude af koden.

Det vi byggede. check_price sammenligner prisen med TARGET_PRICE. SmtpNotifier forbinder med smtplib på port 587, starter TLS, logger ind og sender beskeden. SMTP_ADDRESS, EMAIL_ADDRESS og EMAIL_PASSWORD læses fra .env med python-dotenv; .env.example viser nøglerne.

Skærmbillederne stammer fra en kørsel, hvor SMTP-forbindelsen er erstattet af en stub, så der blev ikke sendt mail; det andet er tegnet ud fra den besked, koden bygger.

Kørsel med en SMTP-stub

Alarmbeskeden

Det vi lærte

  • SMTP-samtalen: connect, starttls(), login(), sendmail(); Gmail kræver en app-adgangskode.
  • Miljøvariabler og .env-filer holder hemmeligheder ude af repositoryet (.env står i .gitignore).
  • Reglen "under målet" er en lille ren funktion, der er let at teste (under, lig med, over).
  • Tests med en falsk SMTP-klasse: testene sender aldrig rigtig mail.