示例#1
0
def consecutive_seens(player, timestamp):
    """
     Return the count of consecutive seens for a player, until timestamp
    """
    activities = Activity.get_private_activity(player).filter(action='seen').order_by('-timestamp')[0:100]
    today = timestamp.date()
    for i, activity in enumerate(activities):
        date = activity.timestamp.date()
        if date != today + timedelta(days=-i):
            return i

    return len(activities)
示例#2
0
def consecutive_days_seen(player, timestamp):
    """
     Return the count of consecutive seens for a player, until timestamp
    """

    # The maximum number of seens in the last 15 days is 24 * 15 ( we have a new 'seen' activity each hour ).
    maximum_times_seen = 15 * 24

    activities = Activity.get_private_activity(player).filter(action='seen').order_by('-timestamp')[0:maximum_times_seen]

    last_day = timestamp.date()
    consecutive_days = 1

    for i, activity in enumerate(activities):
        date = activity.timestamp.date()

        if date == last_day + timedelta(days=-1):
            last_day = date
            consecutive_days = consecutive_days + 1
        elif last_day - date >= timedelta(days=2):
            break

    return consecutive_days
示例#3
0
def consecutive_days_seen(player, timestamp):
    """
     Return the count of consecutive seens for a player, until timestamp
    """

    # The maximum number of seens in the last 15 days is 24 * 15 ( we have a new 'seen' activity each hour ).
    maximum_times_seen = 15 * 24

    activities = Activity.get_private_activity(player).filter(
        action='seen').order_by('-timestamp')[0:maximum_times_seen]

    last_day = timestamp.date()
    consecutive_days = 1

    for i, activity in enumerate(activities):
        date = activity.timestamp.date()

        if date == last_day + timedelta(days=-1):
            last_day = date
            consecutive_days = consecutive_days + 1
        elif last_day - date >= timedelta(days=2):
            break

    return consecutive_days