fix: incorporate @ralph 's recommendation: flask.url_for

This commit is contained in:
Filip Valder
2016-11-07 20:14:29 +01:00
parent dd4790f514
commit e4d69962fa
2 changed files with 9 additions and 5 deletions

View File

@@ -38,6 +38,8 @@ import module_build_service.messaging
from sqlalchemy.orm import lazyload
from flask import url_for
# Just like koji.BUILD_STATES, except our own codes for modules.
BUILD_STATES = {
@@ -233,8 +235,7 @@ class ModuleBuild(RidaBase):
'state': self.state,
'state_name': INVERSE_BUILD_STATES[self.state],
'state_reason': self.state_reason,
'state_url': '{}{}'.format(api_definition['module_build_query']['url'][0],
self.id),
'state_url': url_for('module_build_query', id=self.id),
'scmurl': self.scmurl,
'owner': self.owner,
'time_submitted': self.time_submitted,

View File

@@ -59,7 +59,7 @@ api_definition = {
}
},
'module_build_query': {
'url': ['/module-build-service/1/module-builds/', '<int:id>'],
'url': '/module-build-service/1/module-builds/<int:id>',
'options': {
'methods': ['GET'],
}
@@ -261,7 +261,10 @@ class ModuleBuildAPI(MethodView):
def register_v1_api():
""" Registers version 1 of Rida API. """
module_view = ModuleBuildAPI.as_view('module_builds')
for val in api_definition.values():
app.add_url_rule(''.join(val['url']), view_func=module_view, **val['options'])
for key, val in api_definition.items():
app.add_url_rule(val['url'],
endpoint=key,
view_func=module_view,
**val['options'])
register_v1_api()