summaryrefslogtreecommitdiff
path: root/dateparse
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2021-07-09 18:31:02 -0700
committerScott Gasch <[email protected]>2021-07-09 18:31:02 -0700
commit09e6d10face80d98a4578ff54192b5c8bec007d7 (patch)
tree1565e645e739ff2f607730029c91055d29c02aa5 /dateparse
parent11eeb8574b7b4620ac6fd440cb251f8aa2458f5b (diff)
ACL uses enums, some more tests, other stuff.
Diffstat (limited to 'dateparse')
-rwxr-xr-xdateparse/dateparse_utils.py21
1 files changed, 7 insertions, 14 deletions
diff --git a/dateparse/dateparse_utils.py b/dateparse/dateparse_utils.py
index ad92ccd..05bee8d 100755
--- a/dateparse/dateparse_utils.py
+++ b/dateparse/dateparse_utils.py
@@ -15,10 +15,13 @@ import pytz
import acl
import bootstrap
-from decorator_utils import decorate_matching_methods_with
+from datetime_utils import (
+ TimeUnit, n_timeunits_from_base, datetime_to_date, date_to_datetime
+)
from dateparse.dateparse_utilsLexer import dateparse_utilsLexer # type: ignore
from dateparse.dateparse_utilsListener import dateparse_utilsListener # type: ignore
from dateparse.dateparse_utilsParser import dateparse_utilsParser # type: ignore
+from decorator_utils import decorate_matching_methods_with
logger = logging.getLogger(__name__)
@@ -85,7 +88,7 @@ class RaisingErrorListener(antlr4.DiagnosticErrorListener):
'exit*',
],
denied_patterns=None,
- order_to_check_allow_deny=acl.ACL_ORDER_DENY_ALLOW,
+ order_to_check_allow_deny=acl.Order.DENY_ALLOW,
default_answer=False
)
)
@@ -105,7 +108,6 @@ class DateParser(dateparse_utilsListener):
idea of "now" so that the code can be more easily unittested.
Leave as None for real use cases.
"""
- from datetime_utils import TimeUnit
self.month_name_to_number = {
'jan': 1,
'feb': 2,
@@ -231,7 +233,6 @@ class DateParser(dateparse_utilsListener):
def _reset(self):
"""Reset at init and between parses."""
- from datetime_utils import datetime_to_date
if self.override_now_for_test_purposes is None:
self.now_datetime = datetime.datetime.now()
self.today = datetime.date.today()
@@ -259,9 +260,8 @@ class DateParser(dateparse_utilsListener):
name = name.replace('washi', 'presi')
return name
- def _figure_out_date_unit(self, orig: str) -> int:
+ def _figure_out_date_unit(self, orig: str) -> TimeUnit:
"""Figure out what unit a date expression piece is talking about."""
- from datetime_utils import TimeUnit
if 'month' in orig:
return TimeUnit.MONTHS
txt = orig.lower()[:3]
@@ -469,9 +469,6 @@ class DateParser(dateparse_utilsListener):
def exitDateExpr(self, ctx: dateparse_utilsParser.DateExprContext) -> None:
"""When we leave the date expression, populate self.date."""
- from datetime_utils import (
- n_timeunits_from_base, datetime_to_date, date_to_datetime
- )
if 'special' in self.context:
self.date = self._parse_special_date(self.context['special'])
else:
@@ -514,7 +511,6 @@ class DateParser(dateparse_utilsListener):
def exitTimeExpr(self, ctx: dateparse_utilsParser.TimeExprContext) -> None:
# Simple time?
- from datetime_utils import TimeUnit
self.time = datetime.time(
self.context['hour'],
self.context['minute'],
@@ -641,7 +637,6 @@ class DateParser(dateparse_utilsListener):
def exitDeltaTimeFraction(
self, ctx: dateparse_utilsParser.DeltaTimeFractionContext
) -> None:
- from datetime_utils import TimeUnit
try:
txt = ctx.getText().lower()[:4]
if txt == 'quar':
@@ -874,7 +869,6 @@ class DateParser(dateparse_utilsListener):
def exitNFoosFromTodayAgoExpr(
self, ctx: dateparse_utilsParser.NFoosFromTodayAgoExprContext
) -> None:
- from datetime_utils import n_timeunits_from_base
d = self.now_datetime
try:
count = self._get_int(ctx.unsignedInt().getText())
@@ -900,7 +894,6 @@ class DateParser(dateparse_utilsListener):
def exitDeltaRelativeToTodayExpr(
self, ctx: dateparse_utilsParser.DeltaRelativeToTodayExprContext
) -> None:
- from datetime_utils import n_timeunits_from_base
d = self.now_datetime
try:
mod = ctx.thisNextLast()
@@ -1055,6 +1048,7 @@ class DateParser(dateparse_utilsListener):
pass
def main() -> None:
parser = DateParser()
for line in sys.stdin:
@@ -1072,5 +1066,4 @@ def main() -> None:
if __name__ == "__main__":
- main = bootstrap.initialize(main)
main()