*.py: Hack around the mapping change from `itervalues' to just `values', etc.
[catacomb-python] / catacomb / pwsafe.py
index 6d949c5..6874ae8 100644 (file)
@@ -37,6 +37,10 @@ import catacomb as _C
 ###--------------------------------------------------------------------------
 ### Python version portability.
 
+def _iterkeys(dict): return dict.iterkeys()
+def _itervalues(dict): return dict.itervalues()
+def _iteritems(dict): return dict.iteritems()
+
 def _bin(text): return text
 def _text(bin): return bin
 
@@ -320,7 +324,7 @@ class StorageBackend (object):
   @staticmethod
   def classes():
     """Return an iterator over the concrete subclasses."""
-    return StorageBackend.CLASSES.itervalues()
+    return _itervalues(StorageBackend.CLASSES)
 
   @staticmethod
   def open(file, writep = False):
@@ -801,7 +805,7 @@ class PlainTextBackend (StorageBackend):
   def _write_meta(me, f, prefix = ''):
     """Write the metadata records to F, each with the given PREFIX."""
     f.write('\n## Metadata.\n')
-    for k, v in me._meta.iteritems():
+    for k, v in _iteritems(me._meta):
       f.write('%s%s=%s\n' % (prefix, _enc_metaname(k), _enc_metaval(v)))
 
   def _get_meta(me, name, default):
@@ -813,7 +817,7 @@ class PlainTextBackend (StorageBackend):
     me._mark_dirty()
     del me._meta[name]
   def _iter_meta(me):
-    return me._meta.iteritems()
+    return _iteritems(me._meta)
 
   def _parse_passwd(me, line):
     """Parse LINE as a password LABEL=PAYLOAD pair, and updates `_pw'."""
@@ -823,7 +827,7 @@ class PlainTextBackend (StorageBackend):
   def _write_passwd(me, f, prefix = ''):
     """Write the password records to F, each with the given PREFIX."""
     f.write('\n## Password data.\n')
-    for k, v in me._pw.iteritems():
+    for k, v in _iteritems(me._pw):
       f.write('%s%s=%s\n' % (prefix, _b64(k), _b64(v)))
 
   def _get_passwd(me, label):
@@ -835,7 +839,7 @@ class PlainTextBackend (StorageBackend):
     me._mark_dirty()
     del me._pw[str(label)]
   def _iter_passwds(me):
-    return me._pw.iteritems()
+    return _iteritems(me._pw)
 
 class FlatFileStorageBackend (PlainTextBackend):
   """