Skip to content

Commit e06a767

Browse files
Famlamfrodrigo
authored andcommitted
Warn about invalid months/days
Instead of fixing the regexes, just let dateutil take care of it See osm-fr#2070 (comment)
1 parent 11bb297 commit e06a767

File tree

1 file changed

+2
-9
lines changed

1 file changed

+2
-9
lines changed

plugins/Date.py

+2-9
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,6 @@ def init(self, logger):
4141
"mhs:inscription_date", # Heritage
4242
]
4343
self.default_date = datetime.datetime(9999, 12, 1)
44-
self.Year = re.compile(u"^[12][0-9][0-9][0-9]$")
45-
self.Day1 = re.compile(u"^[12][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$")
46-
self.Day2 = re.compile(u"^[0-9][0-9]/[0-9][0-9]/[12][0-9][0-9][0-9]$")
4744
self.Aprox = re.compile(u"^(?:early|mid|late|before|after|spring|summer|autumn|winter) [^ ]+")
4845

4946
def convert2date(self, string):
@@ -64,10 +61,6 @@ def check(self, string):
6461
return len(string) > 1 and self.check(string[:-1])
6562
if string[-3:] == ' BC' or string[-3:] == ' AD':
6663
return len(string) > 3 and self.check(string[:-3])
67-
if len(string) == 4 and self.Year.match(string):
68-
return True
69-
if len(string) == 10 and (self.Day1.match(string) or self.Day2.match(string)):
70-
return True
7164
if string[0] == 'C':
7265
try:
7366
int(string[1:])
@@ -106,12 +99,12 @@ class Test(TestPluginCommon):
10699
def test(self):
107100
a = Date(None)
108101
a.init(None)
109-
for d in ["~1855", "~1940s", "~C13", "C18", "1970s", "1914", "1914..1918", "2008-08-08..2008-08-24", "late 1920s", "after 1500", "summer 1998", "480 BC", "2012-10", "2002-11", "2014", "2010.."]:
102+
for d in ["~1855", "~1940s", "~C13", "C18", "1970s", "1914", "1914..1918", "2008-08-08..2008-08-24", "late 1920s", "after 1500", "summer 1998", "480 BC", "2012-10", "2002-11", "2014", "2010..", "2022-04-08"]:
110103
assert not a.node(None, {"date":d}), ("date={0}".format(d))
111104

112105
assert not a.node(None, {"date":"yes", "amenity":"clock"}), ("date=yes")
113106

114-
for d in ["yes", "XVI", "p", "0000", "9999", "Ca9", "1914..9999", "2014..Ca09", "7000", "~"]:
107+
for d in ["yes", "XVI", "p", "0000", "9999", "Ca9", "1914..9999", "2014..Ca09", "7000", "~", "2022-88", "2022-12-99", "2022-99-12"]:
115108
self.check_err(a.node(None, {"date":d}), ("date={0}".format(d)))
116109
self.check_err(a.way(None, {"date":d}, None), ("date={0}".format(d)))
117110
self.check_err(a.relation(None, {"date":d}, None), ("date={0}".format(d)))

0 commit comments

Comments
 (0)