changeset 2348b69957e7 in tryton:5.0
details: https://hg.tryton.org/tryton?cmd=changeset&node=2348b69957e7
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
(grafted from d77748324d8d7fe285377f94605b9ad24ad8116d)
diffstat:
tryton/common/datetime_.py | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diffs (54 lines):
diff -r e9a14ac46061 -r 2348b69957e7 tryton/common/datetime_.py
--- a/tryton/common/datetime_.py Thu Apr 22 07:56:09 2021 +0200
+++ b/tryton/common/datetime_.py Wed Apr 28 22:26:52 2021 +0200
@@ -17,6 +17,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_)
@@ -186,7 +194,7 @@
self.__date = value
self.update_label()
elif prop.name == 'format':
- self.__format = value
+ self.__format = _fix_format(value)
self.update_label()
def do_get_property(self, prop):
@@ -215,7 +223,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)
@@ -336,7 +344,7 @@
self.__time = value
self.update_label()
elif prop.name == 'format':
- self.__format = value
+ self.__format = _fix_format(value)
self.update_label()
self.update_model()
@@ -366,7 +374,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)