nikeshn commited on
Commit
c226743
Β·
verified Β·
1 Parent(s): 425a4f9

Update src/api/agent.py

Browse files
Files changed (1) hide show
  1. src/api/agent.py +72 -16
src/api/agent.py CHANGED
@@ -518,23 +518,79 @@ def _rule_based_classify(question: str) -> Dict[str, str]:
518
 
519
 
520
  def _hours_answer() -> str:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
521
  return (
522
- "Here are the current <strong>Khalifa University Library</strong> hours:<br><br>"
523
- "<strong>πŸ“ Main Campus Library (E Building, Main Campus, Abu Dhabi)</strong><br>"
524
- "Sunday – Wednesday: 8:00 AM – 7:00 PM<br>"
525
- "Thursday: 8:00 AM – 4:00 PM<br>"
526
- "Friday: Closed<br>"
527
- "Saturday: 12:00 PM – 8:00 PM<br>"
528
- f'Reference desk: <a href="tel:+97123124604">+971 2 312 4604</a><br><br>'
529
- "<strong>πŸ“ Habshan Library (Building 5, SAN Campus, Abu Dhabi)</strong><br>"
530
- "Sunday – Wednesday: 8:00 AM – 7:00 PM<br>"
531
- "Thursday: 8:00 AM – 4:00 PM<br>"
532
- "Friday: Closed<br>"
533
- "Saturday: 12:00 PM – 8:00 PM<br>"
534
- f'Service desk: <a href="tel:+97123123160">+971 2 312 3160</a><br><br>'
535
- "⚠️ Hours may change during exam periods, public holidays, and Ramadan. "
536
- "Always check the official Library Hours page for the latest:<br>"
537
- f'<a href="{LIBRARY_HOURS_URL}" target="_blank">{LIBRARY_HOURS_URL}</a>'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
538
  )
539
 
540
 
 
518
 
519
 
520
  def _hours_answer() -> str:
521
+ """
522
+ Return a rich, day-aware library hours answer.
523
+ Always links to https://library.ku.ac.ae/hours for live schedule.
524
+ """
525
+ from datetime import datetime, timezone, timedelta
526
+ # UAE is UTC+4
527
+ uae_now = datetime.now(timezone(timedelta(hours=4)))
528
+ day_num = uae_now.weekday() # 0=Mon … 6=Sun
529
+ # Map to day name
530
+ day_names = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
531
+ today = day_names[day_num]
532
+
533
+ # Hours by day (0=Mon … 6=Sun)
534
+ _HOURS = {
535
+ "Sunday": ("Open", "8:00 AM – 7:00 PM"),
536
+ "Monday": ("Open", "8:00 AM – 7:00 PM"),
537
+ "Tuesday": ("Open", "8:00 AM – 7:00 PM"),
538
+ "Wednesday": ("Open", "8:00 AM – 7:00 PM"),
539
+ "Thursday": ("Open", "8:00 AM – 4:00 PM"),
540
+ "Friday": ("Closed", ""),
541
+ "Saturday": ("Open", "12:00 PM – 8:00 PM"),
542
+ }
543
+ status, hours_str = _HOURS.get(today, ("Unknown", ""))
544
+
545
+ if status == "Closed":
546
+ today_line = f'πŸ“… <strong>Today ({today}):</strong> <span style="color:#dc2626">Closed</span>'
547
+ elif status == "Open":
548
+ today_line = (
549
+ f'πŸ“… <strong>Today ({today}):</strong> '
550
+ f'<span style="color:#16a34a">Open</span> Β· {hours_str}'
551
+ )
552
+ else:
553
+ today_line = f'πŸ“… <strong>Today ({today}):</strong> Check the live hours page.'
554
+
555
  return (
556
+ f"Here are the <strong>Khalifa University Library</strong> hours:<br><br>"
557
+ f"{today_line}<br><br>"
558
+
559
+ # Main Campus
560
+ "<strong>πŸ“ Main Campus Library</strong><br>"
561
+ "<span style='font-size:.82rem;color:#6b7280'>E Building, Main Campus, Abu Dhabi Β· "
562
+ '<a href="tel:+97123124604">+971 2 312 4604</a></span><br><br>'
563
+ "<table style='font-size:.85rem;border-collapse:collapse;width:100%;max-width:380px'>"
564
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Sunday – Wednesday</td>"
565
+ "<td style='padding:3px 0;font-weight:600;color:#16a34a'>8:00 AM – 7:00 PM</td></tr>"
566
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Thursday</td>"
567
+ "<td style='padding:3px 0;font-weight:600;color:#d97706'>8:00 AM – 4:00 PM</td></tr>"
568
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Friday</td>"
569
+ "<td style='padding:3px 0;font-weight:600;color:#dc2626'>Closed</td></tr>"
570
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Saturday</td>"
571
+ "<td style='padding:3px 0;font-weight:600;color:#16a34a'>12:00 PM – 8:00 PM</td></tr>"
572
+ "</table><br>"
573
+
574
+ # Habshan / SAN
575
+ "<strong>πŸ“ Habshan Library (SAN Campus)</strong><br>"
576
+ "<span style='font-size:.82rem;color:#6b7280'>Building 5, Sas Al Nakhl Campus, Abu Dhabi Β· "
577
+ '<a href="tel:+97123123160">+971 2 312 3160</a></span><br><br>'
578
+ "<table style='font-size:.85rem;border-collapse:collapse;width:100%;max-width:380px'>"
579
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Sunday – Wednesday</td>"
580
+ "<td style='padding:3px 0;font-weight:600;color:#16a34a'>8:00 AM – 7:00 PM</td></tr>"
581
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Thursday</td>"
582
+ "<td style='padding:3px 0;font-weight:600;color:#d97706'>8:00 AM – 4:00 PM</td></tr>"
583
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Friday</td>"
584
+ "<td style='padding:3px 0;font-weight:600;color:#dc2626'>Closed</td></tr>"
585
+ "<tr><td style='padding:3px 12px 3px 0;color:#374151'>Saturday</td>"
586
+ "<td style='padding:3px 0;font-weight:600;color:#16a34a'>12:00 PM – 8:00 PM</td></tr>"
587
+ "</table><br>"
588
+
589
+ # Warning + live link
590
+ "⚠️ <strong>Hours change during Ramadan, exam periods, and public holidays.</strong><br>"
591
+ f'Always check the live schedule: '
592
+ f'<a href="{LIBRARY_HOURS_URL}" target="_blank" style="font-weight:700;color:#003366">'
593
+ f'{LIBRARY_HOURS_URL}</a>'
594
  )
595
 
596