changeset d77748324d8d in tryton:default
details: https://hg.tryton.org/tryton?cmd=changeset&node=d77748324d8d
description:
Ensure zero padding for year
It is needed to parse it back as a full year and not a year in current
century.
issue10343
review346051003
diffstat:
tryton/common/datetime_.py | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diffs (54 lines):
diff -r 16225253cf29 -r d77748324d8d tryton/common/datetime_.py
--- a/tryton/common/datetime_.py Fri Apr 23 20:13:03 2021 +0200
+++ b/tryton/common/datetime_.py Wed Apr 28 22:26:52 2021 +0200
@@ -15,6 +15,14 @@
_ = gettext.gettext
+def _fix_format(format_):
+ if '%Y' in format_:
+ if (datetime.date.min.strftime('%Y') != '0001'
+ and datetime.date.min.strftime('%4Y') == '0001'):
+ format_ = format_.replace('%Y', '%4Y')
+ return format_
+
+
def date_parse(text, format_='%x'):
try:
return datetime.datetime.strptime(text, format_)
@@ -192,7 +200,7 @@
self.update_label()
self.emit('date-changed')
elif prop.name == 'format':
- self.__format = value
+ self.__format = _fix_format(value)
self.update_label()
def do_get_property(self, prop):
@@ -223,7 +231,7 @@
def do_set_property(self, prop, value):
if prop.name == 'format':
- self.__format = value
+ self.__format = _fix_format(value)
return
Gtk.CellRendererText.set_property(self, prop, value)
@@ -363,7 +371,7 @@
self.update_label()
self.emit('time-changed')
elif prop.name == 'format':
- self.__format = value
+ self.__format = _fix_format(value)
self.update_label()
self.update_model()
@@ -395,7 +403,7 @@
def do_set_property(self, prop, value):
if prop.name == 'format':
- self.__format = value
+ self.__format = _fix_format(value)
return
Gtk.CellRendererText.set_property(self, prop, value)