You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

28 lines
807 B

from datetime import datetime as dt
from django import forms
from django.core.exceptions import ValidationError
import pytz
class TimestampField(forms.Field):
def to_python(self, value):
if value is None:
return None
try:
value_int = int(value)
except ValueError:
raise ValidationError(message="Must be an integer")
# 10000000000 is year 2286 (a sanity check)
if value_int < 0 or value_int > 10000000000:
raise ValidationError(message="Out of bounds")
return dt.fromtimestamp(value_int, pytz.UTC)
class FlipsFiltersForm(forms.Form):
start = TimestampField(required=False)
end = TimestampField(required=False)
seconds = forms.IntegerField(required=False, min_value=0, max_value=31536000)