| From 9b939c0b534c1b7958fa0a3c7aedf30bca910431 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz> |
| Date: Mon, 7 Jun 2021 23:23:47 +0200 |
| Subject: [PATCH] Python 3.10+ fix: Use collections.abc.Callable instead of |
| collections.Callable |
| |
| The deprecated aliases to Collections Abstract Base Classes were removed from |
| the collections module in Python 3.10. |
| https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-0-alpha-5 |
| https://bugs.python.org/issue37324 |
| --- |
| slip/dbus/polkit.py | 6 +++--- |
| slip/util/hookable.py | 6 +++--- |
| 2 files changed, 6 insertions(+), 6 deletions(-) |
| |
| diff --git a/slip/dbus/polkit.py b/slip/dbus/polkit.py |
| index 128e8ce..320676d 100644 |
| --- a/slip/dbus/polkit.py |
| +++ b/slip/dbus/polkit.py |
| @@ -26,7 +26,7 @@ |
| |
| from __future__ import absolute_import |
| |
| -import collections |
| +import collections.abc |
| import dbus |
| from decorator import decorator |
| from functools import reduce |
| @@ -103,14 +103,14 @@ class MyProxy(object): |
| def some_method(self, ...): |
| ...""" |
| |
| - assert(func is None or isinstance(func, collections.Callable)) |
| + assert(func is None or isinstance(func, collections.abc.Callable)) |
| |
| assert( |
| authfail_result in (None, AUTHFAIL_DONTCATCH) or |
| authfail_exception is None) |
| assert( |
| authfail_callback is None or |
| - isinstance(authfail_callback, collections.Callable)) |
| + isinstance(authfail_callback, collections.abc.Callable)) |
| assert( |
| authfail_exception is None or |
| issubclass(authfail_exception, Exception)) |
| diff --git a/slip/util/hookable.py b/slip/util/hookable.py |
| index 89c7392..0cd9967 100644 |
| --- a/slip/util/hookable.py |
| +++ b/slip/util/hookable.py |
| @@ -23,7 +23,7 @@ |
| """This module contains variants of certain base types which call registered |
| hooks on changes.""" |
| |
| -import collections |
| +import collections.abc |
| from six import with_metaclass |
| |
| __all__ = ["Hookable", "HookableSet"] |
| @@ -67,7 +67,7 @@ class _HookEntry(object): |
| |
| def __init__(self, hook, args, kwargs, hookable=None): |
| |
| - assert(isinstance(hook, collections.Callable)) |
| + assert(isinstance(hook, collections.abc.Callable)) |
| assert(isinstance(hookable, Hookable)) |
| |
| for n, x in enumerate(args): |
| @@ -174,7 +174,7 @@ def add_hook_hookable(self, hook, *args, **kwargs): |
| self.__add_hook(hook, self, *args, **kwargs) |
| |
| def __add_hook(self, hook, _hookable, *args, **kwargs): |
| - assert isinstance(hook, collections.Callable) |
| + assert isinstance(hook, collections.abc.Callable) |
| assert isinstance(_hookable, Hookable) |
| hookentry = _HookEntry(hook, args, kwargs, hookable=_hookable) |
| self.__hooks__.add(hookentry) |