Exemple #1
0
    def post(self, request, group_id, deck_id):
        c = Bucket('couchbase://localhost/nihongo')
        success = 'dunno'
        print('deleting deck')
        try:
            c.delete(deck_id)
            group = c.get(group_id).value
            print(group.get('decks_list'))
            group.get('decks_list').remove(deck_id)
            c.upsert(group_id, group)
            success = 'success'
        except (BaseException, CouchbaseError) as e:
            success = 'error'
            print(e)

        group = c.get(group_id).value
        group_decks = group.get('decks_list')
        decks_list = []
        for d in group_decks:
            try:
                deck = c.get(d)
                decks_list.append(deck)
            except CouchbaseError:
                pass
        return HttpResponseRedirect(reverse('tutor:group_decks', kwargs={'group_id' : group_id}))
Exemple #2
0
def delete_keys(bucket, prefix, low, high):

    client = Bucket(HOST + '/' + bucket)
    deleted = 0
    failed = 0
    for i in xrange(low, high):
        key = prefix + "_" + str(i)
        try:
            client.delete(key)
            deleted = deleted + 1
        except Exception as ex:
            failed = failed + 1
            pass
    print "Deleted " + str(deleted) + " keys.  Missed " + str(failed)
Exemple #3
0
def delete_keys(bucket, prefix, low, high):

    client = Bucket(HOST+'/'+bucket)
    deleted = 0
    failed = 0
    for i in xrange(low, high):
        key = prefix +"_"+str(i)
        try:
            client.delete(key)
            deleted = deleted+1 
        except Exception as ex:
            failed = failed+1 
            pass
    print "Deleted " + str(deleted) + " keys.  Missed " + str(failed)
Exemple #4
0
class DB:
    conn = None
    db = None

    def __init__(self):
        self.conn = Bucket("couchbase://localhost:8091/default")

    def createDB(self):
        self.db = self.conn.upsert("EsParser")

    def deleteDB(self):
        self.conn.delete("EsParser")

    def saveData(self, document):
        self.conn.upsert('Frase' + str(uuid4()).replace("-", ""), document)

    def getData(self):
        return None
Exemple #5
0
class BucketWrapper:

    TIMEOUT = 120

    def __init__(self, host, bucket, password, quiet=True, port=8091):
        connection_string = 'couchbase://{}:{}/{}?password={}'\
            .format(host, port, bucket, password)
        self.client = Bucket(connection_string=connection_string, quiet=quiet)
        self.client.timeout = self.TIMEOUT
        self.use_count = 0
        self.use_time = 0
        self.last_use_time = 0

    def start_using(self):
        self.last_use_time = time()

    def stop_using(self):
        self.use_time += time() - self.last_use_time
        self.use_count += 1

    def query(self, ddoc, view, key):
        return self.client.query(ddoc, view, key=key)

    def set(self, key, doc):
        self.client.set(key, doc)

    def delete(self, key):
        self.client.delete(key)

    def upsert(self, key, doc):
        self.client.upsert(key, doc)

    def endure(self, key, persist_to, replicate_to, interval, timeout=120):
        self.client.endure(key,
                           persist_to=persist_to,
                           replicate_to=replicate_to,
                           interval=interval,
                           timeout=timeout)
class Db(object):
    def __init__(self, couchbase_sup=False, mongo_sup=False):
        self.cfg = election[os.getenv("TARGET_PLATFORM")]
        self.vt = None
        self.mysql = None
        self.connect_mysql()
        if couchbase_sup:
            cb_config = self.cfg.COUCHBASE_PARAM
            self.cb = Bucket("couchbase://{0}/{1}".format(cb_config[0], cb_config[1]), username=cb_config[2], password=cb_config[3])
        if mongo_sup:
            mongo_cfg = self.cfg.MONGO_PARAM
            self.mongodb_client = MongoClient(host=mongo_cfg[0], port=int(mongo_cfg[1]), username=mongo_cfg[2], password=mongo_cfg[3], authSource=mongo_cfg[4], authMechanism=mongo_cfg[5])

    def connect_mysql(self):
        mysql_config = self.cfg.MYSQL_PARAM
        self.mysql = mdb.connect(host=mysql_config[0], user=mysql_config[1], passwd=mysql_config[2], db=mysql_config[3], port=int(mysql_config[4]))
        self.mysql.autocommit(False)
        self.vt = self.mysql.cursor()

    def write_mysql(self, query):
        try:
            self.vt.execute(query)
            return True
        except mdb.OperationalError:
            self.connect_mysql()
            self.vt.execute(query)
            return True

    def count_mysql(self, query):
        try:
            self.vt.execute(query)
            return self.vt.rowcount
        except mdb.OperationalError:
            self.connect_mysql()
            self.vt.execute(query)
            return self.vt.rowcount

    def readt_mysql(self, query):
        try:
            self.vt.execute(query)
            self.mysql_commit()
            return self.vt.fetchall()
        except mdb.OperationalError:
            self.connect_mysql()
            self.vt.execute(query)
            self.mysql_commit()
            return self.vt.fetchall()

    def mysql_commit(self):
        self.mysql.commit()

    def mysql_rollback(self):
        self.mysql.rollback()

    def write_couchbase(self, arg):
        key = calculate_hash(arg.keys()[0])
        values = []
        for i in arg.values():
            if isinstance(i, str):
                values.append(calculate_hash(i))
                continue
            if isinstance(i, list):
                for e in i:
                    values.append(calculate_hash(e))
                continue
            values.append(i)
        try:
            self.cb.insert(key, values)
        except couchbase.exceptions.KeyExistsError:
            self.cb.replace(key, values)
        return True

    def readt_couchbase(self, key):
        try:
            return True, self.cb.get(calculate_hash(key)).value
        except couchbase.exceptions.NotFoundError:
            return False, 0

    def delete_key_couchbase(self, key):
        try:
            self.cb.delete(calculate_hash(key), quiet=True)
        except couchbase.exceptions.NotFoundError:
            pass
        finally:
            return True
Exemple #7
0
def delete(key, bucket = "default", password = ""):

    cb = Bucket(host=cfg.COUCHBASE_IP + "/" + self.bucket)
    rc = cb.delete(key)
from couchbase.bucket import Bucket
import sys

mb = Bucket("couchbase:///memoir")

#:print mb.get(sys.argv[1]).value
mb.delete("{\"total_rows\":76,\"rows\":[\r\n]\r\n}\n")
mb.decr('tcount')