Skip to content

Revert using __slots__ for Mapping subclasses in xray.utils #166

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 18, 2014
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 1 addition & 20 deletions xray/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import pandas as pd

import xray
from .pycompat import basestring, iteritems, PY3
from .pycompat import basestring, iteritems


def alias_warning(old_name, new_name, stacklevel=2):
Expand Down Expand Up @@ -218,8 +218,6 @@ class Frozen(Mapping):
immutable. If you really want to modify the mapping, the mutable version is
saved under the `mapping` attribute.
"""
__slots__ = ['mapping']

def __init__(self, mapping):
self.mapping = mapping

Expand All @@ -238,11 +236,6 @@ def __contains__(self, key):
def __repr__(self):
return '%s(%r)' % (type(self).__name__, self.mapping)

if not PY3:
def __getstate__(self):
return self.__dict__


def FrozenOrderedDict(*args, **kwargs):
return Frozen(OrderedDict(*args, **kwargs))

Expand All @@ -252,8 +245,6 @@ class SortedKeysDict(MutableMapping):
items in sorted order by key but is otherwise equivalent to the underlying
mapping.
"""
__slots__ = ['mapping']

def __init__(self, mapping=None):
self.mapping = {} if mapping is None else mapping

Expand Down Expand Up @@ -281,19 +272,13 @@ def __repr__(self):
def copy(self):
return type(self)(self.mapping.copy())

if not PY3:
def __getstate__(self):
return self.__dict__


class ChainMap(MutableMapping):
"""Partial backport of collections.ChainMap from Python>=3.3

Don't return this from any public APIs, since some of the public methods
for a MutableMapping are missing (they will raise a NotImplementedError)
"""
__slots__ = ['maps']

def __init__(self, *maps):
self.maps = maps

Expand All @@ -317,10 +302,6 @@ def __iter__(self):
def __len__(self):
raise NotImplementedError

if not PY3:
def __getstate__(self):
return self.__dict__


class NDArrayMixin(object):
"""Mixin class for making wrappers of N-dimensional arrays that conform to
Expand Down