def average_last_builds(connection, package, limit=5):
    """
    Find the average duration time for the last couple of builds.

    :param connection: txkoji.Connection
    :param package: package name
    :returns: deferred that when fired returns a datetime.timedelta object, or
              None if there were no previous builds for this package.
    """
    # TODO: take branches (targets, or tags, etc) into account when estimating
    # a package's build time.
    state = build_states.COMPLETE
    opts = {'limit': limit, 'order': '-completion_time'}
    builds = yield connection.listBuilds(package, state=state, queryOpts=opts)
    if not builds:
        defer.returnValue(None)
    durations = [build.duration for build in builds]
    average = sum(durations, timedelta()) / len(durations)
    # print('average duration for %s is %s' % (package, average))
    defer.returnValue(average)
def average_last_builds ( connection , package , limit = 5 ) : state = build_states . COMPLETE opts = { 'limit' : limit , 'order' : '-completion_time' } builds = yield connection . listBuilds ( package , state = state , queryOpts = opts ) if not builds : defer . returnValue ( None ) durations = [ build . duration for build in builds ] average = sum ( durations , timedelta ( ) ) / len ( durations ) defer . returnValue ( average )
Find the average duration time for the last couple of builds.

    :param connection: txkoji.Connection
    :param package: package name
    :returns: deferred that when fired returns a datetime.timedelta object, or
              None if there were no previous builds for this package.