Ejemplo n.º 1
0
def bad(z):
    r = z[-4:]
    try:
        c = DB(FileStorage(z)).open()
        root = c.root()
        if root.has_key(r):
            e = 0
            debug('good %s', z)
        else:
            e = 1
            debug('bad %s (key %s missing)', z, r)
        c.close()
        c.db().close()
    except IOError:
        debug('good %s (busy)', z)
        e = 0
    except Exception:
        debug('bad zodb %s (corrupt)', z)
        e = 1
    return e
Ejemplo n.º 2
0
#!/usr/bin/python

import os, sys, re, copy, logging, traceback
from ZODB.FileStorage import FileStorage
from ZODB import DB
from logging import debug, error

logging.getLogger().setLevel(logging.DEBUG)
logging.getLogger('ZODB').setLevel(logging.INFO)
D = os.path.expanduser('~/done/')

l = os.listdir(D)
dbs = [(x, D + x) for x in l if re.match(r'[pb]\d\d\d$', x)]
dbs.sort()
for (r, f) in dbs:
    try:
        c = DB(FileStorage(f)).open()
        root = c.root()
        assert len(root[r].scores) == root[r].final_gen_num + 1
        if '-d' in sys.argv:
            copy.deepcopy(root[r])
        c.close()
        c.db().close()
        debug('%s OK', r)
    except Exception, e:
        error('%s FAIL\n%s', r, traceback.format_exc())