'GET /api/repositories/get_repository_revision_install_info
:param name: the name of the Repository
:param owner: the owner of the Repository
:param changeset_revision: the changeset_revision of the RepositoryMetadata object associated with the Repository
Returns a list of the following dictionaries::
- a dictionary defining the Repository.  For example:
"deleted": false,
"deprecated": false,
"description": "add_column hello",
"id": "f9cad7b01a472135",
"long_description": "add_column hello",
"name": "add_column",
"owner": "test",
"private": false,
"times_downloaded": 6,
"url": "/api/repositories/f9cad7b01a472135",
"user_id": "f9cad7b01a472135"
- a dictionary defining the Repository revision (RepositoryMetadata).  For example:
"changeset_revision": "3a08cc21466f",
"downloadable": true,
"has_repository_dependencies": false,
"has_repository_dependencies_only_if_compiling_contained_td": false,
"id": "f9cad7b01a472135",
"includes_datatypes": false,
"includes_tool_dependencies": false,
"includes_tools": true,
"includes_tools_for_display_in_tool_panel": true,
"includes_workflows": false,
"malicious": false,
"repository_id": "f9cad7b01a472135",
"url": "/api/repository_revisions/f9cad7b01a472135",
"valid_tools": [{u\'add_to_tool_panel\': True,
u\'description\': u\'data on any column using simple expressions\',
u\'guid\': u\'localhost:9009/repos/enis/sample_repo_1/Filter1/2.2.0\',
u\'id\': u\'Filter1\',
u\'name\': u\'Filter\',
u\'requirements\': [],
u\'tests\': [{u\'inputs\': [[u\'input\', u\'1.bed\'], [u\'cond\', u"c1==\'chr22\'"]],
u\'name\': u\'Test-1\',
u\'outputs\': [[u\'out_file1\', u\'filter1_test1.bed\']],
u\'required_files\': [u\'1.bed\', u\'filter1_test1.bed\']}],
u\'tool_config\': u\'database/community_files/000/repo_1/filtering.xml\',
u\'tool_type\': u\'default\',
u\'version\': u\'2.2.0\',
u\'version_string_cmd\': None}]
- a dictionary including the additional information required to install the repository.  For example:
"add_column": [
"add_column hello",
"http://test@localhost:9009/repos/test/add_column",
"3a08cc21466f",
"1",
"test",'

@web.expose_api_anonymous
def get_repository_revision_install_info(self, trans, name, owner, changeset_revision, **kwd):

    if (name and owner and changeset_revision):
        repository = repository_util.get_repository_by_name_and_owner(self.app, name, owner)
        if (repository is None):
            log.debug(('Cannot    locate    repository    %s    owned    by    %s' % (str(name), str(owner))))
            return ({}, {}, {})
        encoded_repository_id = trans.security.encode_id(repository.id)
        repository_dict = repository.to_dict(view='element', value_mapper=self.__get_value_mapper(trans))
        repository_dict['url'] = web.url_for(controller='repositories', action='show', id=encoded_repository_id)
        repository_metadata = metadata_util.get_repository_metadata_by_changeset_revision(self.app, encoded_repository_id, changeset_revision)
        if (repository_metadata is None):
            repo = hg_util.get_repo_for_repository(self.app, repository=repository, repo_path=None, create=False)
            new_changeset_revision = metadata_util.get_next_downloadable_changeset_revision(repository, repo, changeset_revision)
            repository_metadata = metadata_util.get_repository_metadata_by_changeset_revision(self.app, encoded_repository_id, new_changeset_revision)
            changeset_revision = new_changeset_revision
        if (repository_metadata is not None):
            encoded_repository_metadata_id = trans.security.encode_id(repository_metadata.id)
            repository_metadata_dict = repository_metadata.to_dict(view='collection', value_mapper=self.__get_value_mapper(trans))
            repository_metadata_dict['url'] = web.url_for(controller='repository_revisions', action='show', id=encoded_repository_metadata_id)
            if ('tools' in repository_metadata.metadata):
                repository_metadata_dict['valid_tools'] = repository_metadata.metadata['tools']
            (repo_info_dict, includes_tools, includes_tool_dependencies, includes_tools_for_display_in_tool_panel, has_repository_dependencies, has_repository_dependencies_only_if_compiling_contained_td) = repository_util.get_repo_info_dict(self.app, trans.user, encoded_repository_id, changeset_revision)
            return (repository_dict, repository_metadata_dict, repo_info_dict)
        else:
            log.debug(('Unable    to    locate    repository_metadata    record    for    repository    id    %s    and    changeset_revision    %s' % (str(repository.id), str(changeset_revision))))
            return (repository_dict, {}, {})
    else:
        debug_msg = 'Error    in    the    Tool    Shed    repositories    API    in    get_repository_revision_install_info:    '
        debug_msg += ('Invalid    name    %s    or    owner    %s    or    changeset_revision    %s    received.' % (str(name), str(owner), str(changeset_revision)))
        log.debug(debug_msg)
        return ({}, {}, {})
