mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-22 23:23:30 -06:00
b8480549c6
https://pylint.pycqa.org/en/latest/user_guide/messages/refactor/useless-object-inheritance.html: > Used when a class inherit from object, which under python3 is implicit, hence can be safely removed from bases. Fixes: https://pagure.io/freeipa/issue/9278 Signed-off-by: Stanislav Levin <slev@altlinux.org> Reviewed-By: Stanislav Levin <slev@altlinux.org>
34 lines
769 B
Python
34 lines
769 B
Python
#
|
|
# Copyright (C) 2016 FreeIPA Contributors see COPYING for license
|
|
#
|
|
|
|
import weakref
|
|
|
|
|
|
_cache = weakref.WeakValueDictionary()
|
|
|
|
|
|
class ListMeta(type):
|
|
def __getitem__(cls, key):
|
|
if not isinstance(key, type):
|
|
raise TypeError("Parameters to generic types must be types. "
|
|
"Got {!r}.".format(key))
|
|
|
|
t = ListMeta(
|
|
cls.__name__,
|
|
cls.__bases__,
|
|
{
|
|
'__parameters__': (key,),
|
|
'__init__': cls.__init__,
|
|
}
|
|
)
|
|
|
|
return _cache.get(key, t)
|
|
|
|
|
|
class List(list, metaclass=ListMeta):
|
|
__parameters__ = ()
|
|
|
|
def __init__(self, *_args, **_kwargs):
|
|
raise TypeError("Type List cannot be instantiated; use list() instead")
|