human
Complete this python program:
def asynchronous(datastore=False, obj_store=False, log_store=False):
assistant
#Here is the Python program you requested.

    """Wrap request handler methods with this decorator if they will require asynchronous
    access to DynamoDB datastore or S3 object store for photo storage.
    If datastore=True, then a DynamoDB client is available to the handler as self._client. If
    obj_store=True, then an S3 client for the photo storage bucket is available as self._obj_store.
    If log_store is true, then an S3 client for the user log storage bucket is available as
    self._log_store
    Like tornado.web.asynchronous, this decorator disables the auto-finish functionality.
    """
    def _asynchronous(method):
        def _wrapper(self, *args, **kwargs):
            'Disables    automatic    HTTP    response    completion    on    exit.'
            self._auto_finish = False
            if datastore:
                self._client = DBClient.Instance()
            if obj_store:
                self._obj_store = ObjectStore.GetInstance(ObjectStore.PHOTO)
            if log_store:
                self._log_store = ObjectStore.GetInstance(ObjectStore.USER_LOG)
            with util.ExceptionBarrier(self._stack_context_handle_exception):
                return method(self, *args, **kwargs)
        return functools.wraps(method)(_wrapper)
    return _asynchronous