comparison bitten/master.py @ 116:86439c2aa6d6

Store report data in BDB XML database. Closes #31.
author cmlenz
date Sun, 07 Aug 2005 18:12:43 +0000
parents 16d69eb6e047
children 2f0f2f006526
comparison
equal deleted inserted replaced
115:16d69eb6e047 116:86439c2aa6d6
29 from sets import Set as set 29 from sets import Set as set
30 import time 30 import time
31 31
32 from trac.env import Environment 32 from trac.env import Environment
33 from bitten.model import BuildConfig, TargetPlatform, Build, BuildStep, BuildLog 33 from bitten.model import BuildConfig, TargetPlatform, Build, BuildStep, BuildLog
34 from bitten.store import ReportStore
34 from bitten.util import archive, beep, xmlio 35 from bitten.util import archive, beep, xmlio
35 36
36 log = logging.getLogger('bitten.master') 37 log = logging.getLogger('bitten.master')
37 38
38 DEFAULT_CHECK_INTERVAL = 120 # 2 minutes 39 DEFAULT_CHECK_INTERVAL = 120 # 2 minutes
352 for message_elem in log_elem.children('message'): 353 for message_elem in log_elem.children('message'):
353 build_log.messages.append((message_elem.attr['level'], 354 build_log.messages.append((message_elem.attr['level'],
354 message_elem.gettext())) 355 message_elem.gettext()))
355 build_log.insert(db=db) 356 build_log.insert(db=db)
356 357
358 store = ReportStore(self.env)
359 for report in elem.children('report'):
360 store.store_report(build, step, report)
361
357 def _build_completed(self, db, build, elem): 362 def _build_completed(self, db, build, elem):
358 log.info('Slave %s completed build %d ("%s" as of [%s])', self.name, 363 log.info('Slave %s completed build %d ("%s" as of [%s])', self.name,
359 build.id, build.config, build.rev) 364 build.id, build.config, build.rev)
360 build.stopped = int(_parse_iso_datetime(elem.attr['time'])) 365 build.stopped = int(_parse_iso_datetime(elem.attr['time']))
361 if elem.attr['result'] == 'failure': 366 if elem.attr['result'] == 'failure':
Copyright (C) 2012-2017 Edgewall Software