class Connection(object): def __init__(self, connection_string): self.bucket = Bucket(connection_string) def cursor(self): return Cursor(self) def close(self): self.bucket._close()
class SDKClient(object): """Python SDK Client Implementation for testrunner - master branch Implementation""" def __init__(self, bucket, hosts = ["localhost"] , scheme = "couchbase", ssl_path = None, uhm_options = None, password=None, quiet=True, certpath = None, transcoder = None): self.connection_string = \ self._createString(scheme = scheme, bucket = bucket, hosts = hosts, certpath = certpath, uhm_options = uhm_options) self.password = password self.quiet = quiet self.transcoder = transcoder self.default_timeout = 0 self._createConn() def _createString(self, scheme ="couchbase", bucket = None, hosts = ["localhost"], certpath = None, uhm_options = ""): connection_string = "{0}://{1}".format(scheme, ", ".join(hosts).replace(" ","")) if bucket != None: connection_string = "{0}/{1}".format(connection_string, bucket) if uhm_options != None: connection_string = "{0}?{1}".format(connection_string, uhm_options) if scheme == "couchbases": if "?" in connection_string: connection_string = "{0},certpath={1}".format(connection_string, certpath) else: connection_string = "{0}?certpath={1}".format(connection_string, certpath) return connection_string def _createConn(self): try: self.cb = CouchbaseBucket(self.connection_string, password = self.password, quiet = self.quiet, transcoder = self.transcoder) self.default_timeout = self.cb.timeout except BucketNotFoundError as e: raise def reconnect(self): self.cb.close() self._createConn() def close(self): self.cb._close() def counter_in(self, key, path, delta, create_parents=True, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.counter_in(key, path, delta, create_parents= create_parents, cas= cas, ttl= ttl, persist_to= persist_to, replicate_to= replicate_to) except CouchbaseError as e: raise def arrayappend_in(self, key, path, value, create_parents=True, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.arrayappend_in(key, path, value, create_parents=create_parents, cas=cas, ttl=ttl, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def arrayprepend_in(self, key, path, value, create_parents=True, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.arrayprepend_in(key, path, value, create_parents=create_parents, cas=cas, ttl=ttl, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def arrayaddunique_in(self, key, path, value, create_parents=True, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.addunique_in(key, path, value, create_parents=create_parents, cas=cas, ttl=ttl, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def arrayinsert_in(self, key, path, value, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.arrayinsert_in(key, path, value, cas=cas, ttl=ttl, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def remove_in(self, key, path, cas=0, ttl=0): try: self.cb.remove_in(key, path, cas = cas, ttl = ttl) except CouchbaseError as e: raise def mutate_in(self, key, *specs, **kwargs): try: self.cb.mutate_in(key, *specs, **kwargs) except CouchbaseError as e: raise def lookup_in(self, key, *specs, **kwargs): try: self.cb.lookup_in(key, *specs, **kwargs) except CouchbaseError as e: raise def get_in(self, key, path): try: result = self.cb.get_in(key, path) return self.__translate_get(result) except CouchbaseError as e: raise def exists_in(self, key, path): try: self.cb.exists_in(key, path) except CouchbaseError as e: raise def replace_in(self, key, path, value, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.replace_in(key, path, value, cas=cas, ttl=ttl, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def insert_in(self, key, path, value, create_parents=True, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.insert_in(key, path, value, create_parents=create_parents, cas=cas, ttl=ttl, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def upsert_in(self, key, path, value, create_parents=True, cas=0, ttl=0, persist_to=0, replicate_to=0): try: return self.cb.upsert_in(key, path, value, create_parents=create_parents, cas=cas, ttl=ttl, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def append(self, key, value, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.append(key, value, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.append(key, value, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def append_multi(self, keys, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.append_multi(keys, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.append_multi(keys, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def prepend(self, key, value, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.prepend(key, value, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: self.cb.prepend(key, value, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def prepend_multi(self, keys, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.prepend_multi(keys, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.prepend_multi(keys, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def replace(self, key, value, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.replace( key, value, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.replace( key, value, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def replace_multi(self, keys, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.replace_multi( keys, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.replace_multi( keys, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def cas(self, key, value, cas=0, ttl=0, format=None): return self.cb.replace(key, value, cas=cas,format=format) def delete(self,key, cas=0, quiet=True, persist_to=0, replicate_to=0): self.remove(key, cas=cas, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) def remove(self,key, cas=0, quiet=True, persist_to=0, replicate_to=0): try: return self.cb.remove(key, cas=cas, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) return self.cb.remove(key, cas=cas, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def delete(self, keys, quiet=True, persist_to=0, replicate_to=0): return self.remove(self, keys, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) def remove_multi(self, keys, quiet=True, persist_to=0, replicate_to=0): try: self.cb.remove_multi(keys, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.remove_multi(keys, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def set(self, key, value, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): return self.upsert(key, value, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) def upsert(self, key, value, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.upsert(key, value, cas, ttl, format, persist_to, replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.upsert(key, value, cas, ttl, format, persist_to, replicate_to) except CouchbaseError as e: raise def set_multi(self, keys, ttl=0, format=None, persist_to=0, replicate_to=0): return self.upsert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) def upsert_multi(self, keys, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.upsert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.upsert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def insert(self, key, value, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.insert(key, value, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.insert(key, value, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def insert_multi(self, keys, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.insert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: try: time.sleep(10) self.cb.insert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def touch(self, key, ttl = 0): try: self.cb.touch(key, ttl=ttl) except CouchbaseError as e: try: time.sleep(10) self.cb.touch(key, ttl=ttl) except CouchbaseError as e: raise def touch_multi(self, keys, ttl = 0): try: self.cb.touch_multi(keys, ttl=ttl) except CouchbaseError as e: try: time.sleep(10) self.cb.touch_multi(keys, ttl=ttl) except CouchbaseError as e: raise def decr(self, key, delta=1, initial=None, ttl=0): self.counter(key, delta=-delta, initial=initial, ttl=ttl) def decr_multi(self, keys, delta=1, initial=None, ttl=0): self.counter_multi(keys, delta=-delta, initial=initial, ttl=ttl) def incr(self, key, delta=1, initial=None, ttl=0): self.counter(key, delta=delta, initial=initial, ttl=ttl) def incr_multi(self, keys, delta=1, initial=None, ttl=0): self.counter_multi(keys, delta=delta, initial=initial, ttl=ttl) def counter(self, key, delta=1, initial=None, ttl=0): try: self.cb.counter(key, delta=delta, initial=initial, ttl=ttl) except CouchbaseError as e: try: time.sleep(10) self.cb.counter(key, delta=delta, initial=initial, ttl=ttl) except CouchbaseError as e: raise def counter_multi(self, keys, delta=1, initial=None, ttl=0): try: self.cb.counter_multi(keys, delta=delta, initial=initial, ttl=ttl) except CouchbaseError as e: try: time.sleep(10) self.cb.counter_multi(keys, delta=delta, initial=initial, ttl=ttl) except CouchbaseError as e: raise def get(self, key, ttl=0, quiet=True, replica=False, no_format=False): try: rv = self.cb.get(key, ttl=ttl, quiet=quiet, replica=replica, no_format=no_format) return self.__translate_get(rv) except CouchbaseError as e: try: time.sleep(10) rv = self.cb.get(key, ttl=ttl, quiet=quiet, replica=replica, no_format=no_format) return self.__translate_get(rv) except CouchbaseError as e: raise def rget(self, key, replica_index=None, quiet=True): try: data = self.rget(key, replica_index=replica_index, quiet=None) return self.__translate_get(data) except CouchbaseError as e: try: time.sleep(10) data = self.rget(key, replica_index=replica_index, quiet=None) return self.__translate_get(data) except CouchbaseError as e: raise def get_multi(self, keys, ttl=0, quiet=True, replica=False, no_format=False): try: data = self.cb.get_multi(keys, ttl=ttl, quiet=quiet, replica=replica, no_format=no_format) return self.__translate_get_multi(data) except CouchbaseError as e: try: time.sleep(10) data = self.cb.get_multi(keys, ttl=ttl, quiet=quiet, replica=replica, no_format=no_format) return self.__translate_get_multi(data) except CouchbaseError as e: raise def rget_multi(self, key, replica_index=None, quiet=True): try: data = self.cb.rget_multi(key, replica_index=None, quiet=quiet) return self.__translate_get_multi(data) except CouchbaseError as e: try: time.sleep(10) data = self.cb.rget_multi(key, replica_index=None, quiet=quiet) return self.__translate_get_multi(data) except CouchbaseError as e: raise def stats(self, keys=None): try: stat_map = self.cb.stats(keys = keys) return stat_map except CouchbaseError as e: try: time.sleep(10) return self.cb.stats(keys = keys) except CouchbaseError as e: raise def errors(self, clear_existing=True): try: rv = self.cb.errors(clear_existing = clear_existing) return rv except CouchbaseError as e: raise def observe(self, key, master_only=False): try: return self.cb.observe(key, master_only = master_only) except CouchbaseError as e: try: time.sleep(10) return self.cb.observe(key, master_only = master_only) except CouchbaseError as e: raise def observe_multi(self, keys, master_only=False): try: data = self.cb.observe_multi(keys, master_only = master_only) return self.__translate_observe_multi(data) except CouchbaseError as e: try: time.sleep(10) data = self.cb.observe_multi(keys, master_only = master_only) return self.__translate_observe_multi(data) except CouchbaseError as e: raise def endure(self, key, persist_to=-1, replicate_to=-1, cas=0, check_removed=False, timeout=5.0, interval=0.010): try: self.cb.endure(key, persist_to=persist_to, replicate_to=replicate_to, cas=cas, check_removed=check_removed, timeout=timeout, interval=interval) except CouchbaseError as e: try: time.sleep(10) self.cb.endure(key, persist_to=persist_to, replicate_to=replicate_to, cas=cas, check_removed=check_removed, timeout=timeout, interval=interval) except CouchbaseError as e: raise def endure_multi(self, keys, persist_to=-1, replicate_to=-1, cas=0, check_removed=False, timeout=5.0, interval=0.010): try: self.cb.endure(keys, persist_to=persist_to, replicate_to=replicate_to, cas=cas, check_removed=check_removed, timeout=timeout, interval=interval) except CouchbaseError as e: try: time.sleep(10) self.cb.endure(keys, persist_to=persist_to, replicate_to=replicate_to, cas=cas, check_removed=check_removed, timeout=timeout, interval=interval) except CouchbaseError as e: raise def lock(self, key, ttl=0): try: data = self.cb.lock(key, ttl = ttl) return self.__translate_get(data) except CouchbaseError as e: try: time.sleep(10) data = self.cb.lock(key, ttl = ttl) return self.__translate_get(data) except CouchbaseError as e: raise def lock_multi(self, keys, ttl=0): try: data = self.cb.lock_multi(keys, ttl = ttl) return self.__translate_get_multi(data) except CouchbaseError as e: try: time.sleep(10) data = self.cb.lock_multi(keys, ttl = ttl) return self.__translate_get_multi(data) except CouchbaseError as e: raise def unlock(self, key, ttl=0): try: return self.cb.unlock(key) except CouchbaseError as e: try: time.sleep(10) return self.cb.unlock(key) except CouchbaseError as e: raise def unlock_multi(self, keys): try: return self.cb.unlock_multi(keys) except CouchbaseError as e: try: time.sleep(10) return self.cb.unlock_multi(keys) except CouchbaseError as e: raise def n1ql_query(self, statement, prepared=False): try: return N1QLQuery(statement, prepared) except CouchbaseError as e: raise def n1ql_request(self, query): try: return N1QLRequest(query, self.cb) except CouchbaseError as e: raise def __translate_get_multi(self, data): map = {} if data == None: return map for key, result in data.items(): map[key] = [result.flags, result.cas, result.value] return map def __translate_get(self, data): return data.flags, data.cas, data.value def __translate_delete(self, data): return data def __translate_observe(self, data): return data def __translate_observe_multi(self, data): map = {} if data == None: return map for key, result in data.items(): map[key] = result.value return map def __translate_upsert_multi(self, data): map = {} if data == None: return map for key, result in data.items(): map[key] = result return map def __translate_upsert_op(self, data): return data.rc, data.success, data.errstr, data.key
# create primary index print('Create a primary index...') mgr = cb.bucket_manager() mgr.n1ql_index_create_primary(ignore_exists=True) #cb.n1ql_query('CREATE PRIMARY INDEX ON default').execute() print('Done...') # Fire a n1ql query print('Fire a N1QL query...') query = N1QLQuery("SELECT name, email FROM `default` WHERE type=\"Royales\"") for row in cb.n1ql_query(query): pprint(row) # Delete a document print('Delete a doc with key \'u:baby_arthur\'...') key = 'u:baby_arthur' cb.remove(key) print('Done...') # check if doc is deleted or not try: print("Value for key [%s]" % (key)) val = cb.get(key).value print("Value for key [%s]\n%s" % (val)) except NotFoundError as e: print('Got exception for missing doc for key [%s] with error %s' % (key, e)) print('Closing connection to the bucket...') Bucket._close(cb)
class SDKClient(object): """Python SDK Client Implementation for testrunner - master branch Implementation""" def __init__(self, bucket, hosts = ["localhost"] , scheme = "couchbase", ssl_path = None, uhm_options = None, password=None, quiet=False, certpath = None, transcoder = None): self.connection_string = \ self._createString(scheme = scheme, bucket = bucket, hosts = hosts, certpath = certpath, uhm_options = uhm_options) self.password = password self.quiet = quiet self.transcoder = transcoder self._createConn() def _createString(self, scheme ="couchbase", bucket = None, hosts = ["localhost"], certpath = None, uhm_options = ""): connection_string = "{0}://{1}".format(scheme, ", ".join(hosts).replace(" ","")) if bucket != None: connection_string = "{0}/{1}".format(connection_string, bucket) if uhm_options != None: connection_string = "{0}?{1}".format(connection_string, uhm_options) if scheme == "couchbases": if "?" in connection_string: connection_string = "{0},certpath={1}".format(connection_string, certpath) else: connection_string = "{0}?certpath={1}".format(connection_string, certpath) return connection_string def _createConn(self): try: self.cb = CouchbaseBucket(self.connection_string, password = self.password, quiet = self.quiet, transcoder = self.transcoder) except BucketNotFoundError as e: raise def reconnect(self): self.cb.close() self._createConn() def close(self): self.cb._close() def append(self, key, value, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.append(key, value, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def append_multi(self, keys, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.append_multi(keys, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def prepend(self, key, value, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.prepend(key, value, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def prepend_multi(self, keys, cas=0, format=None, persist_to=0, replicate_to=0): try: self.cb.prepend_multi(keys, cas=cas, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def replace(self, key, value, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.replace( key, value, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def replace_multi(self, keys, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.replace_multi( keys, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def cas(self, key, value, cas=0, ttl=0, format=None): return self.cb.replace(key, value, cas=cas,format=format) def delete(self,key, cas=0, quiet=None, persist_to=0, replicate_to=0): self.remove(key, cas=cas, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) def remove(self,key, cas=0, quiet=None, persist_to=0, replicate_to=0): try: return self.cb.remove(key, cas=cas, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def delete(self, keys, quiet=None, persist_to=0, replicate_to=0): return self.remove(self, keys, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) def remove_multi(self, keys, quiet=None, persist_to=0, replicate_to=0): try: self.cb.remove_multi(keys, quiet=quiet, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def set(self, key, value, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): return self.upsert(key, value, cas=cas, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) def upsert(self, key, value, cas=0, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.upsert(key, value, cas, ttl, format, persist_to, replicate_to) except CouchbaseError as e: raise def set_multi(self, keys, ttl=0, format=None, persist_to=0, replicate_to=0): return self.upsert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) def upsert_multi(self, keys, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.upsert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def insert(self, key, value, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.insert(key, value, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def insert_multi(self, keys, ttl=0, format=None, persist_to=0, replicate_to=0): try: self.cb.insert_multi(keys, ttl=ttl, format=format, persist_to=persist_to, replicate_to=replicate_to) except CouchbaseError as e: raise def touch(self, key, ttl = 0): try: self.cb.touch(key, ttl=ttl) except CouchbaseError as e: raise def touch_multi(self, keys, ttl = 0): try: self.cb.touch_multi(keys, ttl=ttl) except CouchbaseError as e: raise def decr(self, key, delta=1, initial=None, ttl=0): self.counter(key, delta=-delta, initial=initial, ttl=ttl) def decr_multi(self, keys, delta=1, initial=None, ttl=0): self.counter_multi(keys, delta=-delta, initial=initial, ttl=ttl) def incr(self, key, delta=1, initial=None, ttl=0): self.counter(key, delta=delta, initial=initial, ttl=ttl) def incr_multi(self, keys, delta=1, initial=None, ttl=0): self.counter_multi(keys, delta=delta, initial=initial, ttl=ttl) def counter(self, key, delta=1, initial=None, ttl=0): try: self.cb.counter(key, delta=delta, initial=initial, ttl=ttl) except CouchbaseError as e: raise def counter_multi(self, keys, delta=1, initial=None, ttl=0): try: self.cb.counter_multi(keys, delta=delta, initial=initial, ttl=ttl) except CouchbaseError as e: raise def get(self, key, ttl=0, quiet=None, replica=False, no_format=False): try: rv = self.cb.get(key, ttl=ttl, quiet=quiet, replica=replica, no_format=no_format) return self.__translate_get(rv) except CouchbaseError as e: raise def rget(self, key, replica_index=None, quiet=None): try: data = self.rget(key, replica_index=replica_index, quiet=None) return self.__translate_get(data) except CouchbaseError as e: raise def get_multi(self, keys, ttl=0, quiet=None, replica=False, no_format=False): try: data = self.cb.get_multi(keys, ttl=ttl, quiet=quiet, replica=replica, no_format=no_format) return self.__translate_get_multi(data) except CouchbaseError as e: raise def rget_multi(self, key, replica_index=None, quiet=None): try: data = self.cb.rget_multi(key, replica_index=None, quiet=None) return self.__translate_get_multi(data) except CouchbaseError as e: raise def stats(self, keys=None): try: stat_map = self.cb.stats(keys = keys) return stat_map except CouchbaseError as e: raise def errors(self, clear_existing=True): try: rv = self.cb.errors(clear_existing = clear_existing) return rv except CouchbaseError as e: raise def observe(self, key, master_only=False): try: return self.cb.observe(key, master_only = master_only) except CouchbaseError as e: raise def observe_multi(self, keys, master_only=False): try: data = self.cb.observe_multi(keys, master_only = master_only) return self.__translate_observe_multi(data) except CouchbaseError as e: raise def endure(self, key, persist_to=-1, replicate_to=-1, cas=0, check_removed=False, timeout=5.0, interval=0.010): try: self.cb.endure(key, persist_to=persist_to, replicate_to=replicate_to, cas=cas, check_removed=check_removed, timeout=timeout, interval=interval) except CouchbaseError as e: raise def endure_multi(self, keys, persist_to=-1, replicate_to=-1, cas=0, check_removed=False, timeout=5.0, interval=0.010): try: self.cb.endure(keys, persist_to=persist_to, replicate_to=replicate_to, cas=cas, check_removed=check_removed, timeout=timeout, interval=interval) except CouchbaseError as e: raise def lock(self, key, ttl=0): try: data = self.cb.lock(key, ttl = ttl) return self.__translate_get(data) except CouchbaseError as e: raise def lock_multi(self, keys, ttl=0): try: data = self.cb.lock_multi(keys, ttl = ttl) return self.__translate_get_multi(data) except CouchbaseError as e: raise def unlock(self, key, ttl=0): try: return self.cb.unlock(key) except CouchbaseError as e: raise def unlock_multi(self, keys): try: return self.cb.unlock_multi(keys) except CouchbaseError as e: raise def __translate_get_multi(self, data): map = {} if data == None: return map for key, result in data.items(): map[key] = [result.flags, result.cas, result.value] return map def __translate_get(self, data): return data.flags, data.cas, data.value def __translate_delete(self, data): return data def __translate_observe(self, data): return data def __translate_observe_multi(self, data): map = {} if data == None: return map for key, result in data.items(): map[key] = result.value return map def __translate_upsert_multi(self, data): map = {} if data == None: return map for key, result in data.items(): map[key] = result return map def __translate_upsert_op(self, data): return data.rc, data.success, data.errstr, data.key
from couchbase.bucket import Bucket bucket = Bucket('couchbase://10.0.2.149/test01') print "connected" Bucket._close()