5 sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
7 from buildfarm.data import (
8 build_status_from_logs,
14 from buildfarm.sqldb import StormCachingBuildFarm, StormBuild
16 buildfarm = StormCachingBuildFarm()
18 store = buildfarm._get_store()
20 for build in store.find(StormBuild, StormBuild.status_str == None):
22 log = build.read_log()
23 except LogFileMissing:
24 print "Killing build %r without status string or log." % build
28 err = build.read_err()
30 status = build_status_from_logs(log, err)
35 build.status_str = status.__serialize__()
36 print "Updating status for %r" % build
38 for build in store.find(StormBuild, StormBuild.revision == None):
40 log = build.read_log()
41 except LogFileMissing:
42 print "Killing build %r without revision or log." % build
46 (revision, revision_time) = revision_from_log(log)
47 except MissingRevisionInfo:
50 build.revision = revision
51 print "Updating revision for %r" % build