diff --git a/lib/python/mod_python/publisher.py b/lib/python/mod_python/publisher.py index 75d103f..5882e77 100644 --- a/lib/python/mod_python/publisher.py +++ b/lib/python/mod_python/publisher.py @@ -51,8 +51,8 @@ def _callable(obj): if PY2: return callable(obj) else: - return (isinstance(obj, collections.Callable) or - (hasattr(obj, "__call__") and isinstance(obj.__call__, collections.Callable))) + return (isinstance(obj, collections.abc.Callable) or + (hasattr(obj, "__call__") and isinstance(obj.__call__, collections.abc.Callable))) ####################### The published page cache ############################## diff --git a/lib/python/mod_python/util.py b/lib/python/mod_python/util.py index b1d1d4b..3824318 100644 --- a/lib/python/mod_python/util.py +++ b/lib/python/mod_python/util.py @@ -364,12 +364,12 @@ class FieldStorage: filename = None if b"filename" in disp_options: filename = disp_options[b"filename"] - if file_callback and isinstance(file_callback, collections.Callable): + if file_callback and isinstance(file_callback, collections.abc.Callable): file = file_callback(filename) else: file = tempfile.TemporaryFile("w+b") else: - if field_callback and isinstance(field_callback, collections.Callable): + if field_callback and isinstance(field_callback, collections.abc.Callable): file = field_callback() else: file = BytesIO()