summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-08-08 15:49:13 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-04-25 15:01:21 +0100
commit8dcc23b5cc1d206a74d554ae57a8c1c20358cc03 (patch)
tree1cadb0feb0ab43c73be8a1bc754ffd9214360ed6
parent3794496ef733c58a010be90d29a59ae7147976a6 (diff)
downloadpoky-8dcc23b5cc1d206a74d554ae57a8c1c20358cc03.tar.gz
lib/oe: Fix collections ABCs DeprecationWarning in Python 3.7+
- Prefer collections.abc (new in Python 3.3) over collections for abstract base classes - In Python 3.8, the abstract base classes in collections.abc will no longer be exposed in the regular collections module. This will help create a clearer distinction between the concrete classes and the abstract base classes." - https://docs.python.org/3.7/whatsnew/3.7.html#deprecated - see https://github.com/python/cpython/commit/c66f9f8d3909f588c251957d499599a1680e2320 (From OE-Core rev: b254ab6ce34da3d3241a51958b5770664d317fcc) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oe/maketype.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/meta/lib/oe/maketype.py b/meta/lib/oe/maketype.py
index f88981dd90..c36e7b5604 100644
--- a/meta/lib/oe/maketype.py
+++ b/meta/lib/oe/maketype.py
@@ -7,7 +7,12 @@ the arguments of the type's factory for details.
7 7
8import inspect 8import inspect
9import oe.types as types 9import oe.types as types
10import collections 10try:
11 # Python 3.7+
12 from collections.abc import Callable
13except ImportError:
14 # Python < 3.7
15 from collections import Callable
11 16
12available_types = {} 17available_types = {}
13 18
@@ -96,7 +101,7 @@ for name in dir(types):
96 continue 101 continue
97 102
98 obj = getattr(types, name) 103 obj = getattr(types, name)
99 if not isinstance(obj, collections.Callable): 104 if not isinstance(obj, Callable):
100 continue 105 continue
101 106
102 register(name, obj) 107 register(name, obj)