6 sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
8 from buildfarm.build import (
9 build_status_from_logs,
16 from buildfarm.hostdb import NoSuchHost
18 from buildfarm import BuildFarm, StormBuild
20 buildfarm = BuildFarm()
22 store = buildfarm._get_store()
24 for build in store.find(StormBuild, StormBuild.status_str == None):
26 log = build.read_log()
27 except LogFileMissing:
28 print "Killing build %r without status string or log." % build
32 err = build.read_err()
34 status = build_status_from_logs(log, err)
39 build.status_str = status.__serialize__()
40 print "Updating status for %r" % build
43 for build in store.find(StormBuild, StormBuild.revision == None):
45 log = build.read_log()
46 except LogFileMissing:
47 print "Killing build %r without revision or log." % build
51 revision = revision_from_log(log)
52 except MissingRevisionInfo:
55 build.revision = revision
56 print "Updating revision for %r" % build
58 for build in store.find(StormBuild, StormBuild.host_id == None):
60 build.host_id = buildfarm.hostdb[build.host].id
62 print "Unable to find host %s" % e.name