Coverage for gws-app/gws/plugin/model_field/time/__init__.py: 0%
19 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1"""Time field.
3Internally, ``time`` values are ``time`` objects.
4They are always transferred in the ISO format,
5specific locale conversions are left to the client.
6"""
8import gws
9import gws.base.model.scalar_field
10import gws.lib.datetimex
12gws.ext.new.modelField('time')
15class Config(gws.base.model.scalar_field.Config):
16 pass
19class Props(gws.base.model.scalar_field.Props):
20 pass
23class Object(gws.base.model.scalar_field.Object):
24 attributeType = gws.AttributeType.datetime
26 def configure_widget(self):
27 if not super().configure_widget():
28 # @TODO time widget
29 self.widget = self.root.create_shared(gws.ext.object.modelWidget, type='input')
30 return True
32 def prop_to_python(self, feature, value, mc):
33 d = gws.lib.datetimex.parse_time(value)
34 return d if d else gws.ErrorValue
36 def python_to_prop(self, feature, value, mc):
37 return gws.lib.datetimex.time_to_iso_string(value)