blob: 7080047b798bafa138db44b87c75d2a40a942d63 [file] [log] [blame]
Andrew Geissler9aee5002022-03-30 16:27:02 +00001From 9b939c0b534c1b7958fa0a3c7aedf30bca910431 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
3Date: Mon, 7 Jun 2021 23:23:47 +0200
4Subject: [PATCH] Python 3.10+ fix: Use collections.abc.Callable instead of
5 collections.Callable
6
7The deprecated aliases to Collections Abstract Base Classes were removed from
8the collections module in Python 3.10.
9https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-0-alpha-5
10https://bugs.python.org/issue37324
11---
Patrick Williams520786c2023-06-25 16:20:36 -050012Upstream-Status: Pending
13
Andrew Geissler9aee5002022-03-30 16:27:02 +000014 slip/dbus/polkit.py | 6 +++---
15 slip/util/hookable.py | 6 +++---
16 2 files changed, 6 insertions(+), 6 deletions(-)
17
18diff --git a/slip/dbus/polkit.py b/slip/dbus/polkit.py
19index 128e8ce..320676d 100644
20--- a/slip/dbus/polkit.py
21+++ b/slip/dbus/polkit.py
22@@ -26,7 +26,7 @@
23
24 from __future__ import absolute_import
25
26-import collections
27+import collections.abc
28 import dbus
29 from decorator import decorator
30 from functools import reduce
31@@ -103,14 +103,14 @@ class MyProxy(object):
32 def some_method(self, ...):
33 ..."""
34
35- assert(func is None or isinstance(func, collections.Callable))
36+ assert(func is None or isinstance(func, collections.abc.Callable))
37
38 assert(
39 authfail_result in (None, AUTHFAIL_DONTCATCH) or
40 authfail_exception is None)
41 assert(
42 authfail_callback is None or
43- isinstance(authfail_callback, collections.Callable))
44+ isinstance(authfail_callback, collections.abc.Callable))
45 assert(
46 authfail_exception is None or
47 issubclass(authfail_exception, Exception))
48diff --git a/slip/util/hookable.py b/slip/util/hookable.py
49index 89c7392..0cd9967 100644
50--- a/slip/util/hookable.py
51+++ b/slip/util/hookable.py
52@@ -23,7 +23,7 @@
53 """This module contains variants of certain base types which call registered
54 hooks on changes."""
55
56-import collections
57+import collections.abc
58 from six import with_metaclass
59
60 __all__ = ["Hookable", "HookableSet"]
61@@ -67,7 +67,7 @@ class _HookEntry(object):
62
63 def __init__(self, hook, args, kwargs, hookable=None):
64
65- assert(isinstance(hook, collections.Callable))
66+ assert(isinstance(hook, collections.abc.Callable))
67 assert(isinstance(hookable, Hookable))
68
69 for n, x in enumerate(args):
70@@ -174,7 +174,7 @@ def add_hook_hookable(self, hook, *args, **kwargs):
71 self.__add_hook(hook, self, *args, **kwargs)
72
73 def __add_hook(self, hook, _hookable, *args, **kwargs):
74- assert isinstance(hook, collections.Callable)
75+ assert isinstance(hook, collections.abc.Callable)
76 assert isinstance(_hookable, Hookable)
77 hookentry = _HookEntry(hook, args, kwargs, hookable=_hookable)
78 self.__hooks__.add(hookentry)