[pypy-commit] pypy mappingproxy: Cleanup, delete unused MappingProxyStrategy
rlamy
pypy.commits at gmail.com
Fri Aug 5 11:50:53 EDT 2016
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: mappingproxy
Changeset: r86036:38670620e06c
Date: 2016-08-05 16:50 +0100
http://bitbucket.org/pypy/pypy/changeset/38670620e06c/
Log: Cleanup, delete unused MappingProxyStrategy
diff --git a/pypy/objspace/std/classdict.py b/pypy/objspace/std/classdict.py
--- a/pypy/objspace/std/classdict.py
+++ b/pypy/objspace/std/classdict.py
@@ -2,10 +2,8 @@
from rpython.rlib.objectmodel import iteritems_with_hash
from pypy.interpreter.error import OperationError, oefmt
-from pypy.interpreter.gateway import interp2app
-from pypy.interpreter.typedef import TypeDef
from pypy.objspace.std.dictmultiobject import (
- DictStrategy, W_DictObject, create_iterator_classes)
+ DictStrategy, create_iterator_classes)
from pypy.objspace.std.typeobject import unwrap_cell
@@ -80,7 +78,8 @@
for key in w_type.dict_w.iterkeys()])
def values(self, w_dict):
- return [unwrap_cell(self.space, w_value) for w_value in self.unerase(w_dict.dstorage).dict_w.itervalues()]
+ return [unwrap_cell(self.space, w_value) for w_value in
+ self.unerase(w_dict.dstorage).dict_w.itervalues()]
def items(self, w_dict):
space = self.space
@@ -100,12 +99,16 @@
def getiterkeys(self, w_dict):
return self.unerase(w_dict.dstorage).dict_w.iterkeys()
+
def getitervalues(self, w_dict):
return self.unerase(w_dict.dstorage).dict_w.itervalues()
+
def getiteritems_with_hash(self, w_dict):
return iteritems_with_hash(self.unerase(w_dict.dstorage).dict_w)
+
def wrapkey(space, key):
return _wrapkey(space, key)
+
def wrapvalue(space, value):
return unwrap_cell(space, value)
@@ -114,70 +117,3 @@
return space.wrap(key.decode('utf-8'))
create_iterator_classes(ClassDictStrategy)
-
-
-class MappingProxyStrategy(DictStrategy):
- """Wraps an applevel mapping in a read-only dictionary."""
- erase, unerase = rerased.new_erasing_pair("mappingproxy")
- erase = staticmethod(erase)
- unerase = staticmethod(unerase)
-
- def getitem(self, w_dict, w_key):
- try:
- return self.space.getitem(self.unerase(w_dict.dstorage), w_key)
- except OperationError as e:
- if not e.match(self.space, self.space.w_KeyError):
- raise
- return None
-
- def setitem(self, w_dict, w_key, w_value):
- raise oefmt(self.space.w_TypeError,
- "'%T' object does not support item assignment", w_dict)
-
- def delitem(self, w_dict, w_key):
- raise oefmt(self.space.w_TypeError,
- "'%T' object does not support item deletion", w_dict)
-
- def length(self, w_dict):
- return self.space.len_w(self.unerase(w_dict.dstorage))
-
- def getiterkeys(self, w_dict):
- return self.space.iter(
- self.space.call_method(self.unerase(w_dict.dstorage), "keys"))
-
- def getitervalues(self, w_dict):
- return self.space.iter(
- self.space.call_method(self.unerase(w_dict.dstorage), "values"))
-
- def getiteritems_with_hash(self, w_dict):
- return self.space.iter(
- self.space.call_method(self.unerase(w_dict.dstorage), "items"))
-
- @staticmethod
- def override_next_key(iterkeys):
- w_keys = iterkeys.iterator
- return iterkeys.space.next(w_keys)
-
- @staticmethod
- def override_next_value(itervalues):
- w_values = itervalues.iterator
- return itervalues.space.next(w_values)
-
- @staticmethod
- def override_next_item(iteritems):
- w_items = iteritems.iterator
- w_item = iteritems.space.next(w_items)
- w_key, w_value = iteritems.space.unpackiterable(w_item, 2)
- return w_key, w_value
-
- def clear(self, w_dict):
- raise oefmt(self.space.w_AttributeError, "clear")
-
- def copy(self, w_dict):
- return self.space.call_method(self.unerase(w_dict.dstorage), "copy")
-
-create_iterator_classes(
- MappingProxyStrategy,
- override_next_key=MappingProxyStrategy.override_next_key,
- override_next_value=MappingProxyStrategy.override_next_value,
- override_next_item=MappingProxyStrategy.override_next_item)
More information about the pypy-commit
mailing list