mirror of
https://github.com/python/cpython.git
synced 2026-05-19 02:44:16 -04:00
keep UserDict an old-style class
Be generous in abc.py to allow this.
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
"""A more or less complete user-defined wrapper around dictionary objects."""
|
||||
|
||||
class UserDict(object):
|
||||
class UserDict:
|
||||
def __init__(self, dict=None, **kwargs):
|
||||
self.data = {}
|
||||
if dict is not None:
|
||||
|
||||
+3
-1
@@ -3,6 +3,8 @@
|
||||
|
||||
"""Abstract Base Classes (ABCs) according to PEP 3119."""
|
||||
|
||||
import types
|
||||
|
||||
|
||||
# Instance of old-style class
|
||||
class _C: pass
|
||||
@@ -101,7 +103,7 @@ class ABCMeta(type):
|
||||
|
||||
def register(cls, subclass):
|
||||
"""Register a virtual subclass of an ABC."""
|
||||
if not isinstance(subclass, type):
|
||||
if not isinstance(subclass, (type, types.ClassType)):
|
||||
raise TypeError("Can only register classes")
|
||||
if issubclass(subclass, cls):
|
||||
return # Already a subclass
|
||||
|
||||
@@ -971,8 +971,6 @@ Library
|
||||
position to the given argument, which goes against the tradition of
|
||||
ftruncate() and other truncation APIs. Patch by Pascal Chambon.
|
||||
|
||||
- UserDict is now a new-style class.
|
||||
|
||||
- Issue #7610: Reworked implementation of the internal ``zipfile.ZipExtFile``
|
||||
class used to represent files stored inside an archive. The new
|
||||
implementation is significantly faster and can be wrapped in a
|
||||
|
||||
Reference in New Issue
Block a user