Gets a ``RepositoryList`` corresponding to the given repository genus ``Type`` which does not include repositories of types derived from the specified ``Type``.

        In plenary mode, the returned list contains all known
        repositories or an error results. Otherwise, the returned list
        may contain only those repositories that are accessible through
        this session.

        arg:    repository_genus_type (osid.type.Type): a repository
                genus type
        return: (osid.repository.RepositoryList) - the returned
                ``Repository list``
        raise:  NullArgument - ``repository_genus_type`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*

def get_repositories_by_genus_type(self, repository_genus_type):
        """Gets a ``RepositoryList`` corresponding to the given repository genus ``Type`` which does not include repositories of types derived from the specified ``Type``.

        In plenary mode, the returned list contains all known
        repositories or an error results. Otherwise, the returned list
        may contain only those repositories that are accessible through
        this session.

        arg:    repository_genus_type (osid.type.Type): a repository
                genus type
        return: (osid.repository.RepositoryList) - the returned
                ``Repository list``
        raise:  NullArgument - ``repository_genus_type`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*

        """
        # Implemented from template for
        # osid.resource.BinLookupSession.get_bins_by_genus_type_template
        # NOTE: This implementation currently ignores plenary view
        if self._catalog_session is not None:
            return self._catalog_session.get_catalogs_by_genus_type(catalog_genus_type=repository_genus_type)
        collection = JSONClientValidated('repository',
                                         collection='Repository',
                                         runtime=self._runtime)
        result = collection.find({"genusTypeId": str(repository_genus_type)}).sort('_id', DESCENDING)

        return objects.RepositoryList(result, runtime=self._runtime, proxy=self._proxy)