buildfarm = BuildFarm() store = buildfarm._get_store() for build in store.find(StormBuild, StormBuild.status_str == None): try: log = build.read_log() except LogFileMissing: print "Killing build %r without status string or log." % build log.remove() continue try: err = build.read_err() try: status = build_status_from_logs(log, err) finally: err.close() finally: log.close() build.status_str = status.__serialize__() print "Updating status for %r" % build for build in store.find(StormBuild, StormBuild.revision == None): try: log = build.read_log() except LogFileMissing: print "Killing build %r without revision or log." % build build.remove() continue try:
def parse_logs(self, log, err): return build_status_from_logs(StringIO(log), StringIO(err))
buildfarm = BuildFarm() store = buildfarm._get_store() for build in store.find(StormBuild, StormBuild.status_str == None): try: log = build.read_log() except LogFileMissing: print "Killing build %r without status string or log." % build log.remove() continue try: err = build.read_err() try: status = build_status_from_logs(log, err) finally: err.close() finally: log.close() build.status_str = status.__serialize__() print "Updating status for %r" % build for build in store.find(StormBuild, StormBuild.revision == None): try: log = build.read_log() except LogFileMissing: print "Killing build %r without revision or log." % build build.remove() continue