diff options
-rw-r--r-- | git/util.py | 10 | ||||
-rw-r--r-- | t.py | 13 |
2 files changed, 17 insertions, 6 deletions
diff --git a/git/util.py b/git/util.py index f72cd355..78a60c9a 100644 --- a/git/util.py +++ b/git/util.py @@ -1017,10 +1017,12 @@ class IterableList(List[T]): class IterableClassWatcher(type): def __init__(cls, name, bases, clsdict): for base in bases: - if type(base) == cls: - warnings.warn("GitPython Iterable is deprecated due to naming clash. Use IterableObj instead", - DeprecationWarning) - super(IterableClassWatcher, cls).__init__(name, bases, clsdict) + if type(base) == IterableClassWatcher: + warnings.warn(f"GitPython Iterable subclassed by {name}. " + "Iterable is deprecated due to naming clash, " + "Use IterableObj instead \n", + DeprecationWarning, + stacklevel=2) class Iterable(object): @@ -1,7 +1,15 @@ +import warnings + + class Watcher(type): def __init__(cls, name, bases, clsdict): - [print("ooooo") for base in bases if issubclass(base, name)] - super(Watcher, cls).__init__(name, bases, clsdict) + for base in bases: + if type(base) == Watcher: + warnings.warn(f"GitPython Iterable subclassed by {name}. " + "Iterable is deprecated due to naming clash, " + "Use IterableObj instead \n", + DeprecationWarning, + stacklevel=2) class SuperClass(metaclass=Watcher): @@ -15,5 +23,6 @@ class SubClass0(SuperClass): class SubClass1(SuperClass): print("test") + class normo(): print("wooo") |