trackhelper: use data.types.Repository

This commit is contained in:
Jimmy Zelinskie 2016-07-25 18:55:10 -04:00
parent ea18790dfe
commit a5502b54f8

View file

@ -3,21 +3,22 @@ import random
from urlparse import urlparse
from app import analytics, app, userevents
from data import model
from flask import request
from app import analytics, userevents
from data import model
from auth.registry_jwt_auth import get_granted_entity
from auth.auth_context import (get_authenticated_user, get_validated_token,
get_validated_oauth_token)
logger = logging.getLogger(__name__)
def track_and_log(event_name, repo, analytics_name=None, analytics_sample=1, **kwargs):
repository = repo.name
namespace = repo.namespace_user.username
def track_and_log(event_name, repo_obj, analytics_name=None, analytics_sample=1, **kwargs):
repo_name = repo_obj.name
namespace_name = repo_obj.namespace_name,
metadata = {
'repo': repository,
'namespace': namespace,
'repo': repo_name,
'namespace': namespace_name,
}
metadata.update(kwargs)
@ -57,7 +58,7 @@ def track_and_log(event_name, repo, analytics_name=None, analytics_sample=1, **k
request_parsed = urlparse(request.url_root)
extra_params = {
'repository': '%s/%s' % (namespace, repository),
'repository': '%s/%s' % (namespace_name, repo_name),
'user-agent': request.user_agent.string,
'hostname': request_parsed.hostname,
}
@ -68,8 +69,8 @@ def track_and_log(event_name, repo, analytics_name=None, analytics_sample=1, **k
logger.debug('Publishing %s to the user events system', event_name)
user_event_data = {
'action': event_name,
'repository': repository,
'namespace': namespace
'repository': repo_name,
'namespace': namespace_name,
}
event = userevents.get_event(authenticated_user.username)
@ -84,7 +85,6 @@ def track_and_log(event_name, repo, analytics_name=None, analytics_sample=1, **k
# Log the action to the database.
logger.debug('Logging the %s to logs system', event_name)
model.log.log_action(event_name, namespace, performer=authenticated_user, ip=request.remote_addr,
metadata=metadata, repository=repo)
model.log.log_action(event_name, namespace_name, performer=authenticated_user,
ip=request.remote_addr, metadata=metadata, repository=repo_obj)
logger.debug('Track and log of %s complete', event_name)