use kwargs for parse_repository_name
This commit is contained in:
parent
3b52a255b2
commit
bb46cc933d
15 changed files with 285 additions and 270 deletions
|
@ -3,10 +3,11 @@
|
|||
import json
|
||||
import logging
|
||||
|
||||
from flask import request, url_for
|
||||
from urllib import quote
|
||||
from urlparse import urlunparse
|
||||
|
||||
from flask import request, url_for
|
||||
|
||||
from app import app
|
||||
from buildtrigger.basehandler import BuildTriggerHandler
|
||||
from buildtrigger.triggerutil import (TriggerDeactivationException,
|
||||
|
@ -40,9 +41,9 @@ class BuildTriggerList(RepositoryParamResource):
|
|||
|
||||
@require_repo_admin
|
||||
@nickname('listBuildTriggers')
|
||||
def get(self, namespace, repository):
|
||||
def get(self, namespace_name, repo_name):
|
||||
""" List the triggers for the specified repository. """
|
||||
triggers = model.build.list_build_triggers(namespace, repository)
|
||||
triggers = model.build.list_build_triggers(namespace_name, repo_name)
|
||||
return {
|
||||
'triggers': [trigger_view(trigger, can_admin=True) for trigger in triggers]
|
||||
}
|
||||
|
@ -56,7 +57,7 @@ class BuildTrigger(RepositoryParamResource):
|
|||
|
||||
@require_repo_admin
|
||||
@nickname('getBuildTrigger')
|
||||
def get(self, namespace, repository, trigger_uuid):
|
||||
def get(self, namespace_name, repo_name, trigger_uuid):
|
||||
""" Get information for the specified build trigger. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
@ -67,7 +68,7 @@ class BuildTrigger(RepositoryParamResource):
|
|||
|
||||
@require_repo_admin
|
||||
@nickname('deleteBuildTrigger')
|
||||
def delete(self, namespace, repository, trigger_uuid):
|
||||
def delete(self, namespace_name, repo_name, trigger_uuid):
|
||||
""" Delete the specified build trigger. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
@ -82,10 +83,10 @@ class BuildTrigger(RepositoryParamResource):
|
|||
# We are just going to eat this error
|
||||
logger.warning('Trigger deactivation problem: %s', ex)
|
||||
|
||||
log_action('delete_repo_trigger', namespace,
|
||||
{'repo': repository, 'trigger_id': trigger_uuid,
|
||||
log_action('delete_repo_trigger', namespace_name,
|
||||
{'repo': repo_name, 'trigger_id': trigger_uuid,
|
||||
'service': trigger.service.name},
|
||||
repo=model.repository.get_repository(namespace, repository))
|
||||
repo=model.repository.get_repository(namespace_name, repo_name))
|
||||
|
||||
trigger.delete_instance(recursive=True)
|
||||
|
||||
|
@ -111,7 +112,7 @@ class BuildTriggerSubdirs(RepositoryParamResource):
|
|||
@require_repo_admin
|
||||
@nickname('listBuildTriggerSubdirs')
|
||||
@validate_json_request('BuildTriggerSubdirRequest')
|
||||
def post(self, namespace, repository, trigger_uuid):
|
||||
def post(self, namespace_name, repo_name, trigger_uuid):
|
||||
""" List the subdirectories available for the specified build trigger and source. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
@ -171,7 +172,7 @@ class BuildTriggerActivate(RepositoryParamResource):
|
|||
@require_repo_admin
|
||||
@nickname('activateBuildTrigger')
|
||||
@validate_json_request('BuildTriggerActivateRequest')
|
||||
def post(self, namespace, repository, trigger_uuid):
|
||||
def post(self, namespace_name, repo_name, trigger_uuid):
|
||||
""" Activate the specified build trigger. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
@ -198,7 +199,7 @@ class BuildTriggerActivate(RepositoryParamResource):
|
|||
raise Unauthorized()
|
||||
|
||||
# Make sure the namespace matches that of the trigger.
|
||||
if robot_namespace != namespace:
|
||||
if robot_namespace != namespace_name:
|
||||
raise Unauthorized()
|
||||
|
||||
# Set the pull robot.
|
||||
|
@ -208,7 +209,7 @@ class BuildTriggerActivate(RepositoryParamResource):
|
|||
new_config_dict = request.get_json()['config']
|
||||
|
||||
write_token_name = 'Build Trigger: %s' % trigger.service.name
|
||||
write_token = model.token.create_delegate_token(namespace, repository, write_token_name,
|
||||
write_token = model.token.create_delegate_token(namespace_name, repo_name, write_token_name,
|
||||
'write')
|
||||
|
||||
try:
|
||||
|
@ -233,12 +234,13 @@ class BuildTriggerActivate(RepositoryParamResource):
|
|||
trigger.save()
|
||||
|
||||
# Log the trigger setup.
|
||||
repo = model.repository.get_repository(namespace, repository)
|
||||
log_action('setup_repo_trigger', namespace,
|
||||
{'repo': repository, 'namespace': namespace,
|
||||
'trigger_id': trigger.uuid, 'service': trigger.service.name,
|
||||
'pull_robot': trigger.pull_robot.username if trigger.pull_robot else None,
|
||||
'config': final_config}, repo=repo)
|
||||
repo = model.repository.get_repository(namespace_name, repo_name)
|
||||
log_action('setup_repo_trigger', namespace_name,
|
||||
{'repo': repo_name, 'namespace': namespace_name,
|
||||
'trigger_id': trigger.uuid, 'service': trigger.service.name,
|
||||
'pull_robot': trigger.pull_robot.username if trigger.pull_robot else None,
|
||||
'config': final_config},
|
||||
repo=repo)
|
||||
|
||||
return trigger_view(trigger, can_admin=True)
|
||||
else:
|
||||
|
@ -271,7 +273,7 @@ class BuildTriggerAnalyze(RepositoryParamResource):
|
|||
@require_repo_admin
|
||||
@nickname('analyzeBuildTrigger')
|
||||
@validate_json_request('BuildTriggerAnalyzeRequest')
|
||||
def post(self, namespace, repository, trigger_uuid):
|
||||
def post(self, namespace_name, repo_name, trigger_uuid):
|
||||
""" Analyze the specified build trigger configuration. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
@ -414,7 +416,7 @@ class ActivateBuildTrigger(RepositoryParamResource):
|
|||
@require_repo_admin
|
||||
@nickname('manuallyStartBuildTrigger')
|
||||
@validate_json_request('RunParameters')
|
||||
def post(self, namespace, repository, trigger_uuid):
|
||||
def post(self, namespace_name, repo_name, trigger_uuid):
|
||||
""" Manually start a build from the specified trigger. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
@ -426,7 +428,7 @@ class ActivateBuildTrigger(RepositoryParamResource):
|
|||
raise InvalidRequest('Trigger is not active.')
|
||||
|
||||
try:
|
||||
repo = model.repository.get_repository(namespace, repository)
|
||||
repo = model.repository.get_repository(namespace_name, repo_name)
|
||||
pull_robot_name = model.build.get_pull_robot_name(trigger)
|
||||
|
||||
run_parameters = request.get_json()
|
||||
|
@ -436,7 +438,7 @@ class ActivateBuildTrigger(RepositoryParamResource):
|
|||
raise InvalidRequest(tse.message)
|
||||
|
||||
resp = build_status_view(build_request)
|
||||
repo_string = '%s/%s' % (namespace, repository)
|
||||
repo_string = '%s/%s' % (namespace_name, repo_name)
|
||||
headers = {
|
||||
'Location': api.url_for(RepositoryBuildStatus, repository=repo_string,
|
||||
build_uuid=build_request.uuid),
|
||||
|
@ -453,10 +455,10 @@ class TriggerBuildList(RepositoryParamResource):
|
|||
@parse_args()
|
||||
@query_param('limit', 'The maximum number of builds to return', type=int, default=5)
|
||||
@nickname('listTriggerRecentBuilds')
|
||||
def get(self, namespace, repository, trigger_uuid, parsed_args):
|
||||
def get(self, namespace_name, repo_name, trigger_uuid, parsed_args):
|
||||
""" List the builds started by the specified trigger. """
|
||||
limit = parsed_args['limit']
|
||||
builds = model.build.list_trigger_builds(namespace, repository, trigger_uuid, limit)
|
||||
builds = model.build.list_trigger_builds(namespace_name, repo_name, trigger_uuid, limit)
|
||||
return {
|
||||
'builds': [build_status_view(bld) for bld in builds]
|
||||
}
|
||||
|
@ -470,7 +472,7 @@ class BuildTriggerFieldValues(RepositoryParamResource):
|
|||
""" Custom verb to fetch a values list for a particular field name. """
|
||||
@require_repo_admin
|
||||
@nickname('listTriggerFieldValues')
|
||||
def post(self, namespace, repository, trigger_uuid, field_name):
|
||||
def post(self, namespace_name, repo_name, trigger_uuid, field_name):
|
||||
""" List the field values for a custom run field. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
@ -501,7 +503,7 @@ class BuildTriggerSources(RepositoryParamResource):
|
|||
""" Custom verb to fetch the list of build sources for the trigger config. """
|
||||
@require_repo_admin
|
||||
@nickname('listTriggerBuildSources')
|
||||
def get(self, namespace, repository, trigger_uuid):
|
||||
def get(self, namespace_name, repo_name, trigger_uuid):
|
||||
""" List the build sources for the trigger configuration thus far. """
|
||||
try:
|
||||
trigger = model.build.get_build_trigger(trigger_uuid)
|
||||
|
|
Reference in a new issue