- Make usage language more accurate by stating "repositories"

- Have usage counter be based on a 4 weeks TTL
- Add a simple usage counter breakage test
This commit is contained in:
Joseph Schorr 2014-10-30 13:26:02 -04:00
parent 79e4864eb2
commit 4eedd54b66
5 changed files with 20 additions and 8 deletions

View file

@ -3,7 +3,7 @@ import logging
import dateutil.parser
import json
from datetime import datetime, timedelta
from datetime import datetime, timedelta, date
from data.database import (User, Repository, Image, AccessToken, Role, RepositoryPermission,
Visibility, RepositoryTag, EmailConfirmation, FederatedLogin,
@ -2225,11 +2225,13 @@ def confirm_team_invite(code, user):
def get_repository_usage():
one_month_ago = date.today() - timedelta(weeks=4)
repo_pull = LogEntryKind.get(name = 'pull_repo')
repo_verb = LogEntryKind.get(name = 'repo_verb')
return (LogEntry.select()
.where((LogEntry.kind == repo_pull) | (LogEntry.kind == repo_verb))
.where(~(LogEntry.repository >> None))
.where(LogEntry.datetime >= one_month_ago)
.group_by(LogEntry.ip)
.group_by(LogEntry.repository)
.count())