コード例 #1
0
 def _with_age(score, time):
     freshness = 1
     if score > -1:
         age = timedelta2seconds(datetime.utcnow() - time)
         freshness = max(1, math.log10(max(1, max_age - age)))
     str_time = "%020d" % datetime2seconds(time)
     str_score_freshness = "%029.10f" % (freshness * score)
     return str_score_freshness + str_time
コード例 #2
0
ファイル: stats.py プロジェクト: alkadis/vcv
def activity(query_filter, from_time=None, to_time=None):
    if not to_time:
        to_time = datetime.utcnow()
    if not from_time:
        from_time = to_time - timedelta(days=30)
    base_age = timedelta2seconds(to_time - from_time)

    query = model.meta.Session.query(model.Event.time)
    query = query.filter(model.Event.time >= from_time)
    query = query.filter(model.Event.time <= to_time)
    query = query.order_by(model.Event.time.asc())
    query = query_filter(query)

    def evt_value(event_time):
        age = base_age - timedelta2seconds(to_time - event_time)
        return math.log(max(1, age))

    act = sum([evt_value(row[0]) for row in query])
    return act
コード例 #3
0
def activity(query_filter, from_time=None, to_time=None):
    if not to_time:
        to_time = datetime.utcnow()
    if not from_time:
        from_time = to_time - timedelta(days=30)
    base_age = timedelta2seconds(to_time - from_time)

    query = model.meta.Session.query(model.Event.time)
    query = query.filter(model.Event.time >= from_time)
    query = query.filter(model.Event.time <= to_time)
    query = query.order_by(model.Event.time.asc())
    query = query_filter(query)

    def evt_value(event_time):
        age = base_age - timedelta2seconds(to_time - event_time)
        return math.log(max(1, age))

    act = sum([evt_value(row[0]) for row in query])
    return act
コード例 #4
0
ファイル: sorting.py プロジェクト: alkadis/vcv
    def _with_age(score, time, impact=0):

        if score > -1:
            age = timedelta2seconds(datetime.utcnow() - time)
            # freshness = 1 .. 5.2 if max_age == 2 days
            freshness = math.log10(max(10, max_age - age))
        else:
            freshness = 1

        # atan normalizes to -pi/2 .. +pi/2
        base = math.atan(freshness * score)

        # add impact
        assert -10 <= impact <= 10
        result = base + impact * math.pi

        str_time = "%020d" % datetime2seconds(time)
        str_score_freshness = "%029.10f" % (result)

        return str_score_freshness + str_time
コード例 #5
0
ファイル: stats.py プロジェクト: alkadis/vcv
 def evt_value(event_time):
     age = base_age - timedelta2seconds(to_time - event_time)
     return math.log(max(1, age))
コード例 #6
0
 def evt_value(event_time):
     age = base_age - timedelta2seconds(to_time - event_time)
     return math.log(max(1, age))