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