def get_asset_form_for_update(self, asset_id=None):
if asset_id is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>try:<EOL><INDENT>url_path = construct_url('<STR_LIT>',<EOL>bank_id=self._catalog_idstr,<EOL>asset_id=asset_id)<EOL>asset = objects.Asset(self._get_request(url_path))<EOL><DEDENT>except Exception:<EOL><INDENT>raise<EOL><DEDENT>asset_form = objects.AssetForm(asset._my_map)<EOL>self._forms[asset_form.get_id().get_identifier()] = not UPDATED<EOL>return asset_form<EOL>
Gets the asset form for updating an existing asset.

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

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

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