chiark / gitweb /
catacomb/__init__.py: Add iterfoo methods to _groupmap.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 17 Nov 2008 23:53:05 +0000 (23:53 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 17 Nov 2008 23:53:05 +0000 (23:53 +0000)
This makes them look more like dictionaries, which is nice.

catacomb/__init__.py

index cda656d81286243d3d207d38f891f34cdc087d4e..aaec637f8692fb43f5f1e58edaa0c82b864fb6da 100644 (file)
@@ -331,10 +331,20 @@ class _groupmap (object):
     raise TypeError, "immutable object"
   def __iter__(me):
     return iter(me.map)
+  def iterkeys(me):
+    return iter(me.map)
+  def itervalues(me):
+    for k in me:
+      yield me[k]
+  def iteritems(me):
+    for k in me:
+      yield k, me[k]
   def keys(me):
     return [k for k in me]
   def values(me):
     return [me[k] for k in me]
+  def items(me):
+    return [(k, me[k]) for k in me]
 eccurves = _groupmap(_base._eccurves, ECInfo._curven)
 primegroups = _groupmap(_base._pgroups, DHInfo._groupn)
 bingroups = _groupmap(_base._bingroups, BinDHInfo._groupn)