Coverage for gws-app/gws/plugin/model_field/datetime/__init__.py: 68%
19 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 23:09 +0200
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 23:09 +0200
1"""Datetime field.
3Internally, ``datetime`` values are ``datetime`` 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('datetime')
15class Config(gws.base.model.scalar_field.Config):
16 """Configuration for the datetime field."""
18 pass
21class Props(gws.base.model.scalar_field.Props):
22 pass
25class Object(gws.base.model.scalar_field.Object):
26 attributeType = gws.AttributeType.datetime
28 def configure_widget(self):
29 if not super().configure_widget():
30 # @TODO datetime widget
31 self.widget = self.root.create_shared(gws.ext.object.modelWidget, type='input')
32 return True
34 def prop_to_python(self, feature, value, mc):
35 d = gws.lib.datetimex.parse(value)
36 return d or gws.ErrorValue
38 def python_to_prop(self, feature, value, mc):
39 return gws.lib.datetimex.to_iso_string(value)