diff -r 04b0678959bf -r 12422144aae1 dbrtools/dbr/dbrutils.py --- a/dbrtools/dbr/dbrutils.py Sat Mar 13 18:56:12 2010 +0000 +++ b/dbrtools/dbr/dbrutils.py Mon Mar 15 16:57:00 2010 +0000 @@ -68,13 +68,13 @@ def extractfiles(files, path): zips = glob.glob(os.path.join(path, '*.zip')) for name in zips: - extractfromzip(files, name) + extractfromzip(files, name,'') -def extractfromzip(files, name): +def extractfromzip(files, name, location): tmpfilename = os.tmpnam( ) print tmpfilename - os.chdir(epocroot()) + os.chdir(os.path.join(epocroot(),location)) f = open(tmpfilename,'w') for file in sorted(files): str = '%s%s' % (file,'\n') @@ -115,13 +115,13 @@ if(exeresult): sys.exit('Fatal error executing: %s\nReported error: %s' % (exestr,os.strerror(exeresult))) else: - db = gethashes(db,outputfile) + db = gethashes(db,outputfile, False) os.unlink(outputfile) os.unlink(tmpfilename) return db # Brittle and nasty!!! -def gethashes(db,md5filename): +def gethashes(db, md5filename, create): os.chdir(epocroot()) # print 'trying to open %s' % md5filename file = open(md5filename,'r') @@ -136,9 +136,16 @@ if(res): filename = "%s%s" % (root,res.group(1)) filename = string.lower(fixpath.sub('/',leadingslash.sub('',filename))) -# print "found %s" % filename - if(filename in db): - db[filename]['md5'] = res.group(3) +# print "found %s" % filename + if(create): + entry = dict() + entry['time'] = 'xxx' + entry['size'] = 'xxx' + entry['md5'] = res.group(3) + db[filename] = entry + else: + if(filename in db): + db[filename]['md5'] = res.group(3) else: res = dirparse.match(line)