Initial status for developed files on dagda
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Maak alle nieuwe IMAP-mappen aan op australius.nl.
|
||||
Bestaande mappen worden overgeslagen.
|
||||
Gebruik: python3 maak_mappen.py
|
||||
"""
|
||||
|
||||
import sys
|
||||
import imaplib
|
||||
import config
|
||||
from imap_utils import list_folders, quote_mailbox
|
||||
from mail_routes import PREFIX, destination_folders
|
||||
|
||||
def mappen() -> list[str]:
|
||||
"""Alle te maken mappen, zonder prefix (prefix wordt automatisch toegevoegd)."""
|
||||
return destination_folders()
|
||||
|
||||
|
||||
def run():
|
||||
cfg = config.load()
|
||||
print(f"Account: {cfg.username}\n")
|
||||
|
||||
print(f"Verbinden met {cfg.imap_host}:{cfg.imap_port} ...")
|
||||
try:
|
||||
mail = imaplib.IMAP4_SSL(cfg.imap_host, cfg.imap_port)
|
||||
mail.login(cfg.username, cfg.password)
|
||||
except Exception as e:
|
||||
print(f"Verbinding mislukt: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
existing = set(list_folders(mail))
|
||||
|
||||
te_maken = mappen()
|
||||
print(f"\n{len(te_maken)} mappen te controleren ({len(existing)} bestaan al op server)\n")
|
||||
|
||||
aangemaakt = 0
|
||||
overgeslagen = 0
|
||||
fouten = 0
|
||||
|
||||
for folder in te_maken:
|
||||
volledige_naam = PREFIX + folder
|
||||
if volledige_naam in existing or folder in existing:
|
||||
print(f" ✓ bestaat {folder}")
|
||||
overgeslagen += 1
|
||||
continue
|
||||
status, data = mail.create(quote_mailbox(volledige_naam))
|
||||
if status == "OK":
|
||||
print(f" + aangemaakt {folder}")
|
||||
aangemaakt += 1
|
||||
else:
|
||||
print(f" ✗ FOUT {folder}: {data}")
|
||||
fouten += 1
|
||||
|
||||
mail.logout()
|
||||
print(f"\nKlaar: {aangemaakt} aangemaakt, {overgeslagen} bestonden al, {fouten} fouten.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
||||
Reference in New Issue
Block a user