mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Include repository metadata when browsing repositories in a category.
This commit is contained in:
@@ -81,7 +81,8 @@ class CategoriesController( BaseAPIController ):
|
||||
category_dict[ 'url' ] = web.url_for( controller='categories',
|
||||
action='show',
|
||||
id=trans.security.encode_id( category.id ) )
|
||||
category_dict[ 'repositories' ] = suc.get_repositories_by_category( self.app, category.id )
|
||||
repositories = suc.get_repositories_by_category( self.app, category.id )
|
||||
category_dict[ 'repositories' ] = repositories
|
||||
return category_dict
|
||||
|
||||
@expose_api_anonymous_and_sessionless
|
||||
|
||||
@@ -497,7 +497,17 @@ def get_repo_info_tuple_contents( repo_info_tuple ):
|
||||
def get_repositories_by_category( app, category_id ):
|
||||
sa_session = app.model.context.current
|
||||
resultset = sa_session.query( app.model.Category ).get( category_id )
|
||||
return [ repo.repository.to_dict( value_mapper={ 'id': app.security.encode_id, 'user_id': app.security.encode_id } ) for repo in resultset.repositories ]
|
||||
repositories = []
|
||||
default_value_mapper = { 'id': app.security.encode_id, 'user_id': app.security.encode_id }
|
||||
for row in resultset.repositories:
|
||||
repository_dict = row.repository.to_dict( value_mapper=default_value_mapper )
|
||||
repository_dict[ 'metadata' ] = {}
|
||||
for changeset, changehash in row.repository.installable_revisions( app ):
|
||||
encoded_id = app.security.encode_id( row.repository.id )
|
||||
metadata = get_repository_metadata_by_changeset_revision( app, encoded_id, changehash )
|
||||
repository_dict[ 'metadata' ][ '%s:%s' % ( changeset, changehash ) ] = metadata.to_dict( value_mapper=default_value_mapper )
|
||||
repositories.append( repository_dict )
|
||||
return repositories
|
||||
|
||||
|
||||
def get_repository_and_repository_dependencies_from_repo_info_dict( app, repo_info_dict ):
|
||||
|
||||
Reference in New Issue
Block a user