home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Calibre / calibre-0.8.18.msi / file_262 / anydbm.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-09-09  |  1.1 KB  |  45 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.7)
  3.  
  4.  
  5. class error(Exception):
  6.     pass
  7.  
  8. _names = [
  9.     'dbhash',
  10.     'gdbm',
  11.     'dbm',
  12.     'dumbdbm']
  13. _errors = [
  14.     error]
  15. _defaultmod = None
  16. for _name in _names:
  17.     
  18.     try:
  19.         _mod = __import__(_name)
  20.     except ImportError:
  21.         continue
  22.  
  23.     if not _defaultmod:
  24.         _defaultmod = _mod
  25.     _errors.append(_mod.error)
  26.  
  27. if not _defaultmod:
  28.     raise ImportError, 'no dbm clone found; tried %s' % _names
  29. error = tuple(_errors)
  30.  
  31. def open(file, flag = 'r', mode = 438):
  32.     whichdb = whichdb
  33.     import whichdb
  34.     result = whichdb(file)
  35.     if result is None:
  36.         if 'c' in flag or 'n' in flag:
  37.             mod = _defaultmod
  38.         else:
  39.             raise error, "need 'c' or 'n' flag to open new db"
  40.     if result == '':
  41.         raise error, 'db type could not be determined'
  42.     mod = __import__(result)
  43.     return mod.open(file, flag, mode)
  44.  
  45.