62 lines
1.1 KiB
Python
62 lines
1.1 KiB
Python
""" Platform-dependent objects """
|
|
|
|
import sys
|
|
|
|
if sys.flags.optimize == 2:
|
|
raise RuntimeError("Cerberus can't be run with Python's optimization level 2.")
|
|
|
|
|
|
if sys.version_info < (3,):
|
|
_int_types = (int, long) # noqa: F821
|
|
_str_type = basestring # noqa: F821
|
|
else:
|
|
_int_types = (int,)
|
|
_str_type = str
|
|
|
|
|
|
if sys.version_info < (3, 3):
|
|
from collections import (
|
|
Callable,
|
|
Container,
|
|
Hashable,
|
|
Iterable,
|
|
Mapping,
|
|
MutableMapping,
|
|
Sequence,
|
|
Set,
|
|
Sized,
|
|
)
|
|
else:
|
|
from collections.abc import (
|
|
Callable,
|
|
Container,
|
|
Hashable,
|
|
Iterable,
|
|
Mapping,
|
|
MutableMapping,
|
|
Sequence,
|
|
Set,
|
|
Sized,
|
|
)
|
|
|
|
if sys.version_info < (3, 8):
|
|
import importlib_metadata
|
|
else:
|
|
import importlib.metadata as importlib_metadata
|
|
|
|
|
|
__all__ = (
|
|
"_int_types",
|
|
"_str_type",
|
|
"importlib_metadata",
|
|
Callable.__name__,
|
|
Container.__name__,
|
|
Hashable.__name__,
|
|
Iterable.__name__,
|
|
Mapping.__name__,
|
|
MutableMapping.__name__,
|
|
Sequence.__name__,
|
|
Set.__name__,
|
|
Sized.__name__,
|
|
)
|