Skip to content
Snippets Groups Projects
Commit b8c25a59 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Impemente util function and templatetags to get week dates.

Advances BiscuIT-App-Alsijil#8.
parent f1e0a98b
No related branches found
No related tags found
No related merge requests found
from datetime import date
from django import template
from .util import week_days
register = template.Library()
@register.filter
def week_start(week: int) -> date:
return week_days(week)[0]
@register.filter
def week_end(week: int) -> date:
return week_days(week)[-1]
from datetime import datetime from datetime import date, datetime, timedelta
from typing import Optional from typing import Optional, Sequence
from django.apps import apps from django.apps import apps
from django.db import models from django.db import models
...@@ -9,6 +9,18 @@ def current_week() -> int: ...@@ -9,6 +9,18 @@ def current_week() -> int:
return int(datetime.now().strftime('%V')) return int(datetime.now().strftime('%V'))
def week_days(week: Optional[int]) -> Sequence[date]:
# FIXME Make this aware of the school term concept
# cf. BiscuIT-ng#40
year = date.today().year
wanted_week = week or current_week()
first_day = datetime.strptime('%d-%d-1' % (year, wanted_week), '%Y-%W-%w')
return [(first_day + timedelta(days=offset)).date() for offset in range(0, 7)]
def current_lesson_periods(when: Optional[datetime] = None) -> models.query.QuerySet: def current_lesson_periods(when: Optional[datetime] = None) -> models.query.QuerySet:
now = when or datetime.now() now = when or datetime.now()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment