repos
/ timestrap-django master

timestrap-django

mirror archived upstream

Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.

djangodockerhandcodedpythonself-hostedtime-trackingtimetracker

593 B · 23 lines · Python Raw History
 1from datetime import timedelta
 2
 3from six import text_type
 4
 5from rest_framework.fields import DurationField
 6
 7from .utils import parse_duration, duration_decimal
 8
 9
10class DurationField(DurationField):
11    def to_internal_value(self, value):
12        if isinstance(value, timedelta):
13            return value
14        parsed = parse_duration(text_type(value))
15        if parsed is not None:
16            return parsed
17        else:
18            return None
19        self.fail("invalid", format="[[HH]:MM] or [[HH][.MM]]")
20
21    def to_representation(self, value):
22        return duration_decimal(value)