Source code for intranet.apps.schedule.notifications

import logging

from django.utils import timezone

from .views import schedule_context

logger = logging.getLogger(__name__)


[docs]def chrome_getdata_check(request): return period_start_end_data(request)
[docs]def period_start_end_data(request): ctx = schedule_context(request, use_cache=False, show_tomorrow=False) blocks = ctx["sched_ctx"]["blocks"] point, block = at_period_point(blocks) if point == 1: return {"title": f"{block.name} has started", "text": str(block)} elif point == 2: return {"title": f"{block.name} has ended", "text": str(block)} else: return None
[docs]def at_period_point(blocks): now = timezone.now() now = now.replace(second=0, microsecond=0) for b in blocks: if now == b.start.date_obj(now): return (1, b) elif now == b.end.date_obj(now): return (2, b) return (0, None)