Spaces:
Runtime error
Runtime error
File size: 1,387 Bytes
37a8fe3 b040061 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | from backend.mock_data import MOCK_EMAILS, MOCK_EVENTS, MOCK_SEARCH
def read_emails(project_id: str) -> str:
"""Read recent emails for a project. Returns sender, subject, body, and days since last reply."""
emails = MOCK_EMAILS.get(project_id, [])
if not emails:
return f"No emails found for project {project_id}."
lines = []
for e in emails:
silence = f"{e['days_since_reply']} days ago" if e["days_since_reply"] is not None else "N/A (newsletter)"
lines.append(
f"From: {e['from']}\n"
f"Subject: {e['subject']}\n"
f"Body: {e['body']}\n"
f"Last reply: {silence}"
)
return "\n---\n".join(lines)
def get_events(project_id: str) -> str:
"""Get upcoming calendar events for a project. Shows title, time, and whether a prep block exists."""
events = MOCK_EVENTS.get(project_id, [])
if not events:
return f"No upcoming events for project {project_id}."
lines = []
for ev in events:
prep = "YES" if ev["prep_block"] else "NO"
lines.append(f"{ev['title']} at {ev['time']} (prep block: {prep})")
return "\n".join(lines)
def search_web(project_id: str) -> str:
"""Search for recent external signals relevant to a project (news, funding, announcements)."""
return MOCK_SEARCH.get(project_id, "No relevant external signals found.")
|