#!/usr/bin/env python import sys import anydbm import dohdbm as dbmod import compressed_file_mod def prefix(string, max_len): if string[max_len:]: return string[:max_len] + '...' else: return string def display(key, value): sys.stdout.write('-> %-20s %s\n' % (prefix(key, 20), prefix(value, 1000))) def main(): compressed = False while sys.argv[1:] and sys.argv[1].startswith('--'): if sys.argv[1] == '--compressed': compressed = True elif sys.argv[1] == '--help': usage(0) else: sys.stderr.write('%s: Unrecognized option: %s\n' % (sys.argv[0], sys.argv[1])) usage(1) del sys.argv[1] for filename in sys.argv[1:]: try: if compressed: db = dbmod.open(filename, 'rb', backend_open=compressed_file_mod.Compressed_file) else: db = dbmod.open(filename, 'rb') except dbmod.error: sys.stderr.write('Error opening %s - continuing\n' % filename) continue for key in db.keys(): value = db[key] display(key, value) db.close() main()