[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