def get_repository_form_for_update(self, repository_id=None):
if repository_id is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>try:<EOL><INDENT>repository = RepositoryLookupSession(proxy=self._proxy,<EOL>runtime=self._runtime).get_repository(repository_id)<EOL><DEDENT>except Exception:<EOL><INDENT>raise<EOL><DEDENT>repository_form = objects.RepositoryForm(repository._my_map)<EOL>self._forms[repository_form.get_id().get_identifier()] = not UPDATED<EOL>return repository_form<EOL>
Gets the repository form for updating an existing repository.

        A new repository form should be requested for each update
        transaction.

        :param repository_id: the ``Id`` of the ``Repository``
        :type repository_id: ``osid.id.Id``
        :return: the repository form
        :rtype: ``osid.repository.RepositoryForm``
        :raise: ``NotFound`` -- ``repository_id`` is not found
        :raise: ``NullArgument`` -- ``repository_id`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*