summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/processors.py
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-03-02 01:45:40 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-03-02 01:45:40 +0000
commit7f1a3f22abffc1529100e14fcfd07a46a49fd44f (patch)
tree9901a8c1d2bebca9f37131119874d7fb6e1979b3 /lib/sqlalchemy/engine/processors.py
parent9e7c068d669b209713da62da5748579f92d98129 (diff)
parenta4bb502cf95ea3523e4d383c4377e50f402d7d52 (diff)
downloadsqlalchemy-7f1a3f22abffc1529100e14fcfd07a46a49fd44f.tar.gz
Merge "pep-484 for engine" into main
Diffstat (limited to 'lib/sqlalchemy/engine/processors.py')
-rw-r--r--lib/sqlalchemy/engine/processors.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/sqlalchemy/engine/processors.py b/lib/sqlalchemy/engine/processors.py
index 398c1fa36..7a6a57c03 100644
--- a/lib/sqlalchemy/engine/processors.py
+++ b/lib/sqlalchemy/engine/processors.py
@@ -14,9 +14,20 @@ They all share one common characteristic: None is passed through unchanged.
"""
from __future__ import annotations
+import typing
+
from ._py_processors import str_to_datetime_processor_factory # noqa
+from ..util._has_cy import HAS_CYEXTENSION
-try:
+if typing.TYPE_CHECKING or not HAS_CYEXTENSION:
+ from ._py_processors import int_to_boolean # noqa
+ from ._py_processors import str_to_date # noqa
+ from ._py_processors import str_to_datetime # noqa
+ from ._py_processors import str_to_time # noqa
+ from ._py_processors import to_decimal_processor_factory # noqa
+ from ._py_processors import to_float # noqa
+ from ._py_processors import to_str # noqa
+else:
from sqlalchemy.cyextension.processors import (
DecimalResultProcessor,
) # noqa
@@ -34,12 +45,3 @@ try:
# Decimal('5.00000') whereas the C implementation will
# return Decimal('5'). These are equivalent of course.
return DecimalResultProcessor(target_class, "%%.%df" % scale).process
-
-except ImportError:
- from ._py_processors import int_to_boolean # noqa
- from ._py_processors import str_to_date # noqa
- from ._py_processors import str_to_datetime # noqa
- from ._py_processors import str_to_time # noqa
- from ._py_processors import to_decimal_processor_factory # noqa
- from ._py_processors import to_float # noqa
- from ._py_processors import to_str # noqa