130 lines
4.2 KiB
Diff
130 lines
4.2 KiB
Diff
From b83e3091a7febd715cc0502dc154e43edb2d44f1 Mon Sep 17 00:00:00 2001
|
|
From: Jan Pokorný <jpokorny@redhat.com>
|
|
Date: Jan 17 2020 14:20:25 +0000
|
|
Subject: compat: Python 3.9 no longer offers collections.Mutable* ABCs
|
|
|
|
|
|
Solution is to move over onto collections.abc dedicated submodule
|
|
that hosts these exclusively since 3.9.
|
|
|
|
References:
|
|
https://docs.python.org/3/whatsnew/3.3.html#collections
|
|
https://docs.python.org/3/whatsnew/3.7.html#id3
|
|
https://docs.python.org/3.7/library/collections.html#collections-container-datatypes
|
|
https://docs.python.org/3.9/whatsnew/3.9.html#removed
|
|
|
|
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
|
|
|
---
|
|
|
|
diff --git a/command.py b/command.py
|
|
index 1330bef..92cdf22 100644
|
|
--- a/command.py
|
|
+++ b/command.py
|
|
@@ -1,11 +1,14 @@
|
|
# -*- coding: UTF-8 -*-
|
|
-# Copyright 2017 Red Hat, Inc.
|
|
+# Copyright 2020 Red Hat, Inc.
|
|
# Part of clufter project
|
|
# Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt)
|
|
"""Base command stuff (TBD)"""
|
|
__author__ = "Jan Pokorný <jpokorny @at@ Red Hat .dot. com>"
|
|
|
|
-from collections import MutableMapping
|
|
+try:
|
|
+ from collections.abc import MutableMapping
|
|
+except ImportError:
|
|
+ from collections import MutableMapping
|
|
try:
|
|
from itertools import zip_longest
|
|
except ImportError: # PY2 backward compatibility
|
|
diff --git a/command_context.py b/command_context.py
|
|
index c7331ea..b6135df 100644
|
|
--- a/command_context.py
|
|
+++ b/command_context.py
|
|
@@ -1,11 +1,14 @@
|
|
# -*- coding: UTF-8 -*-
|
|
-# Copyright 2017 Red Hat, Inc.
|
|
+# Copyright 2020 Red Hat, Inc.
|
|
# Part of clufter project
|
|
# Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt)
|
|
"""Command context, i.e., state distributed along filters chain"""
|
|
__author__ = "Jan Pokorný <jpokorny @at@ Red Hat .dot. com>"
|
|
|
|
-from collections import MutableMapping
|
|
+try:
|
|
+ from collections.abc import MutableMapping
|
|
+except ImportError:
|
|
+ from collections import MutableMapping
|
|
from logging import getLogger
|
|
|
|
from .error import ClufterError
|
|
diff --git a/filters/cmd_wrap.py b/filters/cmd_wrap.py
|
|
index 89c9829..0166b68 100644
|
|
--- a/filters/cmd_wrap.py
|
|
+++ b/filters/cmd_wrap.py
|
|
@@ -1,5 +1,5 @@
|
|
# -*- coding: UTF-8 -*-
|
|
-# Copyright 2017 Red Hat, Inc.
|
|
+# Copyright 2020 Red Hat, Inc.
|
|
# Part of clufter project
|
|
# Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt)
|
|
"""cmd-wrap filter"""
|
|
@@ -12,7 +12,11 @@ from ..utils_2to3 import bytes_enc, str_enc, xrange
|
|
from ..utils_func import add_item
|
|
from ..utils_prog import FancyOutput
|
|
|
|
-from collections import MutableMapping, defaultdict
|
|
+try:
|
|
+ from collections.abc import MutableMapping
|
|
+except ImportError:
|
|
+ from collections import MutableMapping
|
|
+from collections import defaultdict
|
|
from logging import getLogger
|
|
from os import getenv, isatty
|
|
from sys import maxsize
|
|
diff --git a/protocol.py b/protocol.py
|
|
index e41fc57..3334324 100644
|
|
--- a/protocol.py
|
|
+++ b/protocol.py
|
|
@@ -1,11 +1,14 @@
|
|
# -*- coding: UTF-8 -*-
|
|
-# Copyright 2017 Red Hat, Inc.
|
|
+# Copyright 2020 Red Hat, Inc.
|
|
# Part of clufter project
|
|
# Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt)
|
|
"""Base protocol stuff (metaclass, etc.)"""
|
|
__author__ = "Jan Pokorný <jpokorny @at@ Red Hat .dot. com>"
|
|
|
|
-from collections import MutableMapping
|
|
+try:
|
|
+ from collections.abc import MutableMapping
|
|
+except ImportError:
|
|
+ from collections import MutableMapping
|
|
from logging import getLogger
|
|
|
|
from .plugin_registry import PluginRegistry
|
|
diff --git a/utils_prog.py b/utils_prog.py
|
|
index c427791..e39a141 100644
|
|
--- a/utils_prog.py
|
|
+++ b/utils_prog.py
|
|
@@ -1,12 +1,15 @@
|
|
# -*- coding: UTF-8 -*-
|
|
-# Copyright 2017 Red Hat, Inc.
|
|
+# Copyright 2020 Red Hat, Inc.
|
|
# Part of clufter project
|
|
# Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt)
|
|
"""Program-specific commons"""
|
|
__author__ = "Jan Pokorný <jpokorny @at@ Red Hat .dot. com>"
|
|
|
|
import logging
|
|
-from collections import Mapping, MutableMapping, MutableSequence, MutableSet
|
|
+try:
|
|
+ from collections.abc import Mapping, MutableMapping, MutableSequence, MutableSet
|
|
+except ImportError:
|
|
+ from collections import Mapping, MutableMapping, MutableSequence, MutableSet
|
|
from functools import reduce
|
|
from optparse import Option
|
|
from os import environ, fdopen, isatty, pathsep
|
|
|