77 lines
2.7 KiB
Diff
77 lines
2.7 KiB
Diff
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)
|