Filter the inactive builds when computing the is_building flag.
This commit is contained in:
parent
b1a5b9c343
commit
0ff19d5401
2 changed files with 11 additions and 5 deletions
|
@ -562,10 +562,15 @@ def get_repository_build(request_dbid):
|
||||||
raise InvalidRepositoryBuildException(msg)
|
raise InvalidRepositoryBuildException(msg)
|
||||||
|
|
||||||
|
|
||||||
def list_repository_builds(namespace_name, repository_name):
|
def list_repository_builds(namespace_name, repository_name,
|
||||||
|
include_inactive=True):
|
||||||
joined = RepositoryBuild.select().join(Repository)
|
joined = RepositoryBuild.select().join(Repository)
|
||||||
fetched = list(joined.where(Repository.name == repository_name,
|
filtered = joined
|
||||||
Repository.namespace == namespace_name))
|
if not include_inactive:
|
||||||
|
filtered = filtered.where(RepositoryBuild.phase != 'error',
|
||||||
|
RepositoryBuild.phase != 'complete')
|
||||||
|
fetched = list(filtered.where(Repository.name == repository_name,
|
||||||
|
Repository.namespace == namespace_name))
|
||||||
return fetched
|
return fetched
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -345,7 +345,8 @@ def get_repo_api(namespace, repository):
|
||||||
tag_dict = {tag.name: tag_view(tag) for tag in tags}
|
tag_dict = {tag.name: tag_view(tag) for tag in tags}
|
||||||
can_write = ModifyRepositoryPermission(namespace, repository).can()
|
can_write = ModifyRepositoryPermission(namespace, repository).can()
|
||||||
can_admin = AdministerRepositoryPermission(namespace, repository).can()
|
can_admin = AdministerRepositoryPermission(namespace, repository).can()
|
||||||
builds = model.list_repository_builds(namespace, repository)
|
active_builds = model.list_repository_builds(namespace, repository,
|
||||||
|
include_inactive=False)
|
||||||
|
|
||||||
return jsonify({
|
return jsonify({
|
||||||
'namespace': namespace,
|
'namespace': namespace,
|
||||||
|
@ -355,7 +356,7 @@ def get_repo_api(namespace, repository):
|
||||||
'can_write': can_write,
|
'can_write': can_write,
|
||||||
'can_admin': can_admin,
|
'can_admin': can_admin,
|
||||||
'is_public': is_public,
|
'is_public': is_public,
|
||||||
'is_building': len(builds) > 0,
|
'is_building': len(active_builds) > 0,
|
||||||
})
|
})
|
||||||
|
|
||||||
abort(404) # Not fount
|
abort(404) # Not fount
|
||||||
|
|
Reference in a new issue