Commits

inklesspen  committed 8383f03

gdbm does not support the dbm.get() method, so fall back to accessing keys and catching the KeyError in that case.

  • Participants
  • Parent commits 533e9ca

Comments (0)

Files changed (1)

File dogpile/cache/backends/file.py

 
     def get(self, key):
         with self._dbm_file(False) as dbm:
-            value = dbm.get(key, NO_VALUE)
+            if hasattr(dbm, 'get'):
+                value = dbm.get(key, NO_VALUE)
+            else:
+                # gdbm objects lack a .get method
+                try:
+                    value = dbm[key]
+                except KeyError, e:
+                    value = NO_VALUE
             if value is not NO_VALUE:
                 value = compat.pickle.loads(value)
             return value