<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def touch(self, expiration):
 """Updates the current document's expiration value. :param expiration: Expiration in seconds for the document to be removed by couchbase server, defaults to 0 - will never expire. :type expiration: int :returns: Response from CouchbaseClient. :rtype: unicode :raises: :exc:'cbwrapper.errors.DoesNotExist' or :exc:'couchbase.exception.TemporaryFailError' """

        if not self.cas_value or not self.doc_id:
            raise self.DoesNotExist(self)
        return self.bucket.touch(self.doc_id, expiration)