docs: def get_asset_spatial_assignment_session_for_repository(self, repository_id, proxy):
          """Gets the session for assigning spatial coverage of an asset for
          the given repository.
  
          arg:    repository_id (osid.id.Id): the Id of the repository
          arg     proxy (osid.proxy.Proxy): a proxy
          return: (osid.repository.AssetSpatialAssignmentSession) - an
                  AssetSpatialAssignmentSession
          raise:  NotFound - repository_id not found
          raise:  NullArgument - repository_id is null
          raise:  OperationFailed - unable to complete request
          raise:  Unimplemented - supports_asset_spatial_assignment() or
                  supports_visible_federation() is false
          compliance: optional - This method must be implemented if
                      supports_asset_spatial_assignment() and
                      supports_visible_federation() are true.
  
          """
          if not repository_id:
              raise NullArgument()
          if not self.supports_asset_spatial_assignment() or not self.supports_visible_federation():
              raise Unimplemented()
          try:
              from . import sessions
          except ImportError:
              raise OperationFailed('import error')
          proxy = self._convert_proxy(proxy)
          try:
              session = sessions.AssetSpatialAssignmentSession(repository_id, proxy, runtime=self._runtime)
          except AttributeError:
              raise OperationFailed('attribute error')
          return session