current week

This commit is contained in:
j 2023-10-01 09:08:09 +02:00
commit e59c9d2f41
2 changed files with 11 additions and 7 deletions

View file

@ -59,10 +59,18 @@ class Item(models.Model):
return json.dumps(comments)
@classmethod
def public(cls, now=None):
def all_public(cls, now=None):
if now is None:
now = timezone.make_aware(datetime.now(), timezone.get_default_timezone())
qs = cls.objects.exclude(published=None).filter(published__lte=now).order_by('-published')
archive = qs.annotate(year=ExtractYear('published')).annotate(week=ExtractWeek('published'))
return archive
@classmethod
def public(cls, now=None):
if now is None:
now = timezone.make_aware(datetime.now(), timezone.get_default_timezone())
qs = cls.all_public(now)
cal = now.date().isocalendar()
monday = now.date() - timedelta(days=now.date().isocalendar().weekday - 1)
monday = timezone.datetime(monday.year, monday.month, monday.day, tzinfo=now.tzinfo)
@ -77,11 +85,7 @@ class Item(models.Model):
else:
last_monday = monday - timedelta(days=7)
week = qs.filter(published__gt=last_monday)
archive = (qs
.exclude(id__in=week)
.annotate(year=ExtractYear('published'))
.annotate(week=ExtractWeek('published'))
)
archive = qs.exclude(id__in=week)
return week, archive
def get_week(self):