From 4f35234f3e31e7879b3e83faac385c30e3ba93a7 Mon Sep 17 00:00:00 2001 From: Yongjie Zhao Date: Wed, 13 Jan 2021 23:25:58 +0800 Subject: [PATCH] fix(timepicker): make pyparsing thread safe (#12489) * fix: make pyparsing thread safe * remove parenthesis for decorator --- superset/utils/date_parser.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/superset/utils/date_parser.py b/superset/utils/date_parser.py index aee2c83a0d7c3..bd979f3c07a01 100644 --- a/superset/utils/date_parser.py +++ b/superset/utils/date_parser.py @@ -32,6 +32,7 @@ Group, Optional as ppOptional, ParseException, + ParserElement, ParseResults, pyparsing_common, quotedString, @@ -40,6 +41,8 @@ from .core import memoized +ParserElement.enablePackrat() + logger = logging.getLogger(__name__) @@ -375,7 +378,7 @@ def eval(self) -> datetime: raise ValueError(_("Unable to find such a holiday: [{}]").format(holiday)) -@memoized() +@memoized def datetime_parser() -> ParseResults: # pylint: disable=too-many-locals ( # pylint: disable=invalid-name DATETIME,