def GetPushes(starttime=None, endtime=None, int_size=0, branches=None): """Get pushes and statistics. Input: starttime - start time (UNIX timestamp in seconds), if not specified, endtime minus 24 hours endtime - end time (UNIX timestamp in seconds), if not specified, starttime plus 24 hours or current time (if starttime is not specified either) int_size - break down results per interval (in seconds), if specified branches - filter by list of branches, if not spefified fetches all branches Output: pushes report """ starttime, endtime = get_time_interval(starttime, endtime) q = PushesQuery(starttime, endtime, branches) q_results = q.execute() report = PushesReport(starttime, endtime, int_size=int_size, branches=branches) for r in q_results: branch_name = get_branch_name(r['branch']) stime = float(r['when_timestamp']) revision = r['revision'] push = Push(stime, branch_name, revision) report.add(push) return report
def __init__(self, author=None, bid=None, branch=None, brid=None, buildername=None, buildsetid=None, category=None, changeid=None, changes_revision=None, claimed_at=None, claimed_by_name=None, comments=None, complete=0, complete_at=None, finish_time=None, number=None, project=None, revlink=None, revision=None, reason=None, repository=None, results=None, submitted_at=None, ssid=None, start_time=None, when_timestamp=None): self.number = number self.brid = brid self.bid = bid # build id self.branch = branch self.branch_name = get_branch_name(branch) self.buildername = buildername self.ssid = ssid self.revision = get_revision(revision) # get at most the first 12 chars self.changes_revision = get_revision(changes_revision) self.changeid = set([changeid]) self.when_timestamp = when_timestamp self.submitted_at = submitted_at self.claimed_at = claimed_at self.start_time = start_time self.complete_at = complete_at self.finish_time = finish_time self.claimed_by_name = claimed_by_name self.complete = complete self.reason = reason self.results = results if results != None else NO_RESULT self.authors = set([author]) self.comments = comments self.revlink = revlink self.category = category self.repository = repository self.project = project self.buildsetid = buildsetid self.status = self._compute_status() self.platform = get_platform(buildername) self.build_type = get_build_type(buildername) # opt / debug self.job_type = get_job_type(buildername) # build / unittest / talos
def __init__(self, author=None, bid=None, branch=None, brid=None, buildername=None, buildsetid=None, category=None, changeid=None, changes_revision=None, claimed_at=None, claimed_by_name=None, comments=None, complete=0, complete_at=None, finish_time=None, number=None, project=None, revlink=None, revision=None, reason=None, repository=None, results=None, submitted_at=None, ssid=None, start_time=None, when_timestamp=None): self.number = number self.brid = brid self.bid = bid # build id self.branch = branch self.branch_name = get_branch_name(branch) self.buildername = buildername self.ssid = ssid self.revision = get_revision( revision) # get at most the first 12 chars self.changes_revision = get_revision(changes_revision) self.changeid = set([changeid]) self.when_timestamp = when_timestamp self.submitted_at = submitted_at self.claimed_at = claimed_at self.start_time = start_time self.complete_at = complete_at self.finish_time = finish_time self.claimed_by_name = claimed_by_name self.complete = complete self.reason = reason self.results = results if results != None else NO_RESULT self.authors = set([author]) self.comments = comments self.revlink = revlink self.category = category self.repository = repository self.project = project self.buildsetid = buildsetid self.status = self._compute_status() self.platform = get_platform(buildername) self.build_type = get_build_type(buildername) # opt / debug self.job_type = get_job_type(buildername) # build / unittest / talos