add missing files
This commit is contained in:
37
aircox_web/plugins/timetable.py
Normal file
37
aircox_web/plugins/timetable.py
Normal file
@ -0,0 +1,37 @@
|
||||
import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.templatetags.static import static
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from aircox import models as aircox
|
||||
from aircox_web.fields import PositiveSmallMinMaxField
|
||||
|
||||
|
||||
class Timetable(models.Model):
|
||||
station = models.ForeignKey(
|
||||
aircox.Station, models.CASCADE, verbose_name=_('station'),
|
||||
)
|
||||
days_before = models.PositiveSmallMinMaxField(
|
||||
_('days before'), min=0, max=6,
|
||||
help_text=_('Count of days displayed current date'),
|
||||
)
|
||||
days_after = models.PositiveSmallMinMaxField(
|
||||
_('days after'), min=0, max=6,
|
||||
help_text=_('Count of days displayed current date'),
|
||||
)
|
||||
|
||||
def get_queryset(self, date=None):
|
||||
date = date if date is not None else datetime.date.today()
|
||||
qs = aircox.Diffusion.objects.station(self.station)
|
||||
if self.days_before is None and self.days_after is None:
|
||||
return qs.at(date)
|
||||
|
||||
start = date - datetime.timedelta(days=self.days_before) \
|
||||
if self.days_before else date
|
||||
stop = date + datetime.timedelta(days=self.days_after) \
|
||||
if self.days_after else date
|
||||
return aircox.Diffusion.objects.station(self.station) \
|
||||
.after(start).before(stop)
|
||||
|
||||
|
Reference in New Issue
Block a user