Removes an ``Asset`` from a ``Repository``.

        arg:    asset_id (osid.id.Id): the ``Id`` of the ``Asset``
        arg:    repository_id (osid.id.Id): the ``Id`` of the
                ``Repository``
        raise:  NotFound - ``asset_id`` or ``repository_id`` not found
                or ``asset_id`` not assigned to ``repository_id``
        raise:  NullArgument - ``asset_id`` or ``repository_id`` is
                ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*

def unassign_asset_from_repository(self, asset_id, repository_id):
        """Removes an ``Asset`` from a ``Repository``.

        arg:    asset_id (osid.id.Id): the ``Id`` of the ``Asset``
        arg:    repository_id (osid.id.Id): the ``Id`` of the
                ``Repository``
        raise:  NotFound - ``asset_id`` or ``repository_id`` not found
                or ``asset_id`` not assigned to ``repository_id``
        raise:  NullArgument - ``asset_id`` or ``repository_id`` 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.ResourceBinAssignmentSession.unassign_resource_from_bin
        mgr = self._get_provider_manager('REPOSITORY', local=True)
        lookup_session = mgr.get_repository_lookup_session(proxy=self._proxy)
        lookup_session.get_repository(repository_id)  # to raise NotFound
        self._unassign_object_from_catalog(asset_id, repository_id)