iports/ilot/py3-testing-common-database/25_support-callable-in-collections.patch

37 lines
1.3 KiB
Diff

From fa31191abe883d0ddc2a441550eeacc4126c85cb Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Sat, 18 Dec 2021 10:32:19 -0500
Subject: [PATCH] Support Callable in collections.abc
The abstract base classes are available here in Python 3.3+, and
in current Python versions they are no longer available directly
in collections.
---
src/testing/common/database.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/testing/common/database.py b/src/testing/common/database.py
index 5ba8c5e..74e1067 100644
--- a/src/testing/common/database.py
+++ b/src/testing/common/database.py
@@ -23,7 +23,10 @@
from time import sleep
from shutil import copytree, rmtree
from datetime import datetime
-import collections
+try:
+ from collections.abc import Callable
+except ImportError:
+ from collections import Callable
class DatabaseFactory(object):
@@ -285,7 +288,7 @@ def decorator(fn, path=arg):
return skipIf(cond, "%s not found" % self.name)(fn)
- if isinstance(arg, collections.Callable): # execute as simple decorator
+ if isinstance(arg, Callable): # execute as simple decorator
return decorator(arg, None)
else: # execute with path argument
return decorator