aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/python-dateutil/py3/dateutil/parser/__init__.py
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.com>2023-10-10 11:35:31 +0300
committershadchin <shadchin@yandex-team.com>2023-10-10 11:54:48 +0300
commit656bb1fb2814e586db5de6166ebbb17363d5325b (patch)
tree31b755ba74120fea597c6d00ce9ff1d0ca7b728a /contrib/python/python-dateutil/py3/dateutil/parser/__init__.py
parent3896b7591b5f3231ceb4bfe69cf9863b237d8b78 (diff)
downloadydb-656bb1fb2814e586db5de6166ebbb17363d5325b.tar.gz
Split python-dateutil on py2/py3
Diffstat (limited to 'contrib/python/python-dateutil/py3/dateutil/parser/__init__.py')
-rw-r--r--contrib/python/python-dateutil/py3/dateutil/parser/__init__.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/contrib/python/python-dateutil/py3/dateutil/parser/__init__.py b/contrib/python/python-dateutil/py3/dateutil/parser/__init__.py
new file mode 100644
index 0000000000..d174b0e4dc
--- /dev/null
+++ b/contrib/python/python-dateutil/py3/dateutil/parser/__init__.py
@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+from ._parser import parse, parser, parserinfo, ParserError
+from ._parser import DEFAULTPARSER, DEFAULTTZPARSER
+from ._parser import UnknownTimezoneWarning
+
+from ._parser import __doc__
+
+from .isoparser import isoparser, isoparse
+
+__all__ = ['parse', 'parser', 'parserinfo',
+ 'isoparse', 'isoparser',
+ 'ParserError',
+ 'UnknownTimezoneWarning']
+
+
+###
+# Deprecate portions of the private interface so that downstream code that
+# is improperly relying on it is given *some* notice.
+
+
+def __deprecated_private_func(f):
+ from functools import wraps
+ import warnings
+
+ msg = ('{name} is a private function and may break without warning, '
+ 'it will be moved and or renamed in future versions.')
+ msg = msg.format(name=f.__name__)
+
+ @wraps(f)
+ def deprecated_func(*args, **kwargs):
+ warnings.warn(msg, DeprecationWarning)
+ return f(*args, **kwargs)
+
+ return deprecated_func
+
+def __deprecate_private_class(c):
+ import warnings
+
+ msg = ('{name} is a private class and may break without warning, '
+ 'it will be moved and or renamed in future versions.')
+ msg = msg.format(name=c.__name__)
+
+ class private_class(c):
+ __doc__ = c.__doc__
+
+ def __init__(self, *args, **kwargs):
+ warnings.warn(msg, DeprecationWarning)
+ super(private_class, self).__init__(*args, **kwargs)
+
+ private_class.__name__ = c.__name__
+
+ return private_class
+
+
+from ._parser import _timelex, _resultbase
+from ._parser import _tzparser, _parsetz
+
+_timelex = __deprecate_private_class(_timelex)
+_tzparser = __deprecate_private_class(_tzparser)
+_resultbase = __deprecate_private_class(_resultbase)
+_parsetz = __deprecated_private_func(_parsetz)