Spaces:
Runtime error
Runtime error
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import imaplib
|
3 |
+
import json
|
4 |
+
from datetime import datetime
|
5 |
+
|
6 |
+
# Use HF Secrets (Settings → "Variables and Secrets")
|
7 |
+
EMAIL = os.environ.get("OUTLOOK_EMAIL")
|
8 |
+
PASSWORD = os.environ.get("OUTLOOK_PASSWORD")
|
9 |
+
|
10 |
+
def fetch_emails():
|
11 |
+
mail = imaplib.IMAP4_SSL("outlook.office365.com")
|
12 |
+
mail.login(EMAIL, PASSWORD)
|
13 |
+
mail.select("inbox")
|
14 |
+
|
15 |
+
status, messages = mail.search(None, 'SUBJECT "DWC SDM SHIFT END REPORT"')
|
16 |
+
email_ids = messages[0].split()
|
17 |
+
|
18 |
+
reports = []
|
19 |
+
for email_id in email_ids:
|
20 |
+
status, msg_data = mail.fetch(email_id, "(RFC822)")
|
21 |
+
raw_email = msg_data[0][1]
|
22 |
+
reports.append(parse_email(raw_email))
|
23 |
+
|
24 |
+
mail.logout()
|
25 |
+
return reports
|
26 |
+
|
27 |
+
def parse_email(raw_email):
|
28 |
+
# Your parsing logic here
|
29 |
+
return {"timestamp": str(datetime.now()), "data": "..."}
|
30 |
+
|
31 |
+
if __name__ == "__main__":
|
32 |
+
reports = fetch_emails()
|
33 |
+
with open("shift_reports.json", "w") as f:
|
34 |
+
json.dump(reports, f)
|