示例#1
0
def queue_lists():
    """
    show the list of queue
    :return:
    """
    page_num = int(request.args.get('page_num', 1))
    page_size = request.args.get('page_size')
    if not page_size:
        page_size = request.cookies.get('SIZE', 20)
    start = request.args.get('s', '')
    end = request.args.get('e', '')
    ssdb_object = SSDBObject(request)
    queue_list, has_next = ssdb_object.queue_list(start=start,
                                                  end=end,
                                                  page_num=page_num,
                                                  page_size=int(page_size))
    select_arg = {'s': start, 'e': end, 'page_size': int(page_size)}
    resp = make_response(
        render_template('queue/queue.html',
                        queue_list=queue_list,
                        has_next=has_next,
                        has_prev=page_num > 1,
                        page_num=page_num,
                        select_arg=select_arg,
                        active='queue'))
    return resp
示例#2
0
def index():
    host, port = get_sa_server(request)
    ssdb_object = SSDBObject(request)
    server_info = ssdb_object.server_info()
    resp = make_response(render_template('index.html', server_info=server_info))
    resp.set_cookie('SSDBADMINSERVER', '{host}:{port}'.format(host=host, port=port))
    return resp
示例#3
0
def queue_qrange():
    """
    show the list of item from queue
    :return:
    """
    queue_name = request.args.get('n')
    page_num = request.args.get('page_num', 1)
    page_size = request.args.get('page_size')
    if not page_size:
        page_size = request.cookies.get('SIZE', 20)
    ssdb_object = SSDBObject(request)
    item_total = ssdb_object.queue_size(queue_name)
    page_count, page_num = get_paging_tabs_info(item_total, page_num,
                                                page_size)
    offset = (page_num - 1) * int(page_size)
    item_list = ssdb_object.queue_qrange(queue_name,
                                         offset=offset,
                                         limit=page_size)
    select_arg = {'page_size': int(page_size)}
    resp = make_response(
        render_template('queue/queue_qrange.html',
                        item_list=item_list,
                        name=queue_name,
                        page_num=int(page_num),
                        page_count=page_count,
                        select_arg=select_arg,
                        start_index=offset,
                        data_total=item_total,
                        active='queue'))
    resp.set_cookie('SIZE', str(page_size))
    return resp
示例#4
0
def zset_zscan():
    """
    show the list of item from queue
    :return:
    """
    name = request.args.get('n')
    key_start = request.args.get('s', '')
    tp = request.args.get('t')
    page_size = request.args.get('page_size')
    if not page_size:
        page_size = request.cookies.get('SIZE', 20)
    ssdb_object = SSDBObject(request)
    has_next, has_prev, item_list = ssdb_object.zset_zscan(
        name, key_start, tp, limit=int(page_size))
    prev_s, next_s = '', ''
    if item_list:
        next_s = item_list[-1].get('key')
        prev_s = item_list[0].get('key')
    select_arg = {
        'page_size': int(page_size),
        'prev_s': prev_s,
        'next_s': next_s
    }
    resp = make_response(
        render_template('zset/zset_zscan.html',
                        item_list=item_list,
                        name=name,
                        page_num=1,
                        key_start=key_start,
                        has_next=has_next,
                        has_prev=has_prev,
                        select_arg=select_arg,
                        active='zset'))
    resp.set_cookie('SIZE', str(page_size))
    return resp
示例#5
0
def zset_zset():
    """
    add item to queue(support back and front)
    :return:
    """
    if request.method == 'GET':
        name = request.args.get('n')
        key = request.args.get('k', '')
        score = request.args.get('s', '')
        return render_template('zset/zset_zset.html',
                               name=name,
                               key=key,
                               score=score,
                               active='zset')
    else:
        name = request.form.get('n')
        key = request.form.get('k')
        score = request.form.get('s')
        try:
            score = int(score)
        except ValueError:
            score = 0
        ssdb_object = SSDBObject(request)
        ssdb_object.zset_zset(name, key, score)
        return redirect(url_for('zset_zscan', n=name))
示例#6
0
def zset_lists():
    """
    show the list of zset
    :return:
    """
    page_num = int(request.args.get('page_num', 1))
    page_size = request.args.get('page_size')
    if not page_size:
        page_size = request.cookies.get('SIZE', 20)
    start = request.args.get('s', '')
    ssdb_object = SSDBObject(request)
    zset_list, has_next = ssdb_object.zset_list(start=start,
                                                page_num=page_num,
                                                page_size=int(page_size))
    select_arg = {'s': start, 'page_size': int(page_size)}
    resp = make_response(
        render_template('zset/zset.html',
                        zset_list=zset_list,
                        has_next=has_next,
                        has_prev=page_num > 1,
                        page_num=page_num,
                        select_arg=select_arg,
                        active='zset'))
    resp.set_cookie('SIZE', page_size)
    return resp
示例#7
0
def hash_lists():
    """
    show the list of hash
    :return:
    """
    key_start = request.args.get('s', '')
    tp = request.args.get('t')
    page_size = request.args.get('page_size')
    if not page_size:
        page_size = request.cookies.get('SIZE', 20)
    ssdb_object = SSDBObject(request)
    has_next, has_prev, hash_list = ssdb_object.hash_list(key_start,
                                                          tp,
                                                          limit=int(page_size))
    prev_s, next_s = '', ''
    if hash_list:
        next_s = hash_list[-1].get('name')
        prev_s = hash_list[0].get('name')
    select_arg = {
        'page_size': int(page_size),
        'prev_s': prev_s,
        'next_s': next_s,
        's': key_start
    }
    resp = make_response(
        render_template('hash/hash.html',
                        hash_list=hash_list,
                        page_num=1,
                        has_next=has_next,
                        has_prev=has_prev,
                        select_arg=select_arg,
                        active='hash'))
    resp.set_cookie('SIZE', str(page_size))
    return resp
示例#8
0
def kv_get():
    """
    show a kv info
    :return:
    """
    key = request.args.get('k')
    ssdb_object = SSDBObject(request)
    value = ssdb_object.kv_get(key)
    return render_template('kv/kv_kget.html',
                           key=key,
                           value=value,
                           active='kv')
示例#9
0
def hash_hget():
    """
    show an item info from hash
    :return:
    """
    name = request.args.get('n')
    key = request.args.get('k')
    ssdb_object = SSDBObject(request)
    value = ssdb_object.hash_hget(name, key)
    return render_template('hash/hash_hget.html',
                           name=name,
                           value=value,
                           key=key,
                           active='hash')
示例#10
0
def queue_qget():
    """
    show an item info from queue
    :return:
    """
    queue_name = request.args.get('n')
    index = request.args.get('i')
    ssdb_object = SSDBObject(request)
    item = ssdb_object.queue_qget(queue_name, index)
    return render_template('queue/queue_qget.html',
                           name=queue_name,
                           item=item,
                           index=index,
                           active='queue')
示例#11
0
def zset_zget():
    """
    show an item info from zset
    :return:
    """
    name = request.args.get('n')
    key = request.args.get('k')
    ssdb_object = SSDBObject(request)
    score = ssdb_object.zset_zget(name, key)
    return render_template('zset/zset_zget.html',
                           name=name,
                           score=score,
                           key=key,
                           active='zset')
示例#12
0
def hash_hclear():
    """
    delete  the specified hash data
    :return:
    """
    if request.method == 'POST':
        name = request.form.get('n')
        ssdb_object = SSDBObject(request)
        ssdb_object.hash_hclear(name)
        return redirect(url_for('hash_lists'))
    else:
        name = request.args.get('n')
        return render_template('hash/hash_hclear.html',
                               name=name,
                               active='hash')
示例#13
0
def zset_zclear():
    """
    delete  the specified zset data
    :return:
    """
    if request.method == 'POST':
        name = request.form.get('n')
        ssdb_object = SSDBObject(request)
        ssdb_object.zset_zclear(name)
        return redirect(url_for('zset_lists'))
    else:
        queue_name = request.args.get('n')
        return render_template('zset/zset_zclear.html',
                               name=queue_name,
                               active='zset')
示例#14
0
def queue_qclear():
    """
    delete  the specified queue data
    :return:
    """
    if request.method == 'POST':
        queue_name = request.form.get('n')
        ssdb_object = SSDBObject(request)
        ssdb_object.queue_qclear(queue_name)
        return redirect(url_for('queue_lists'))
    else:
        queue_name = request.args.get('n')
        return render_template('queue/queue_qclear.html',
                               name=queue_name,
                               active='queue')
示例#15
0
def kv_del():
    """
    remove keys from kv
    :return:
    """
    if request.method == 'GET':
        key = request.args.get('k')
        keys = request.args.getlist('keys')
        if key:
            keys.append(key)
        return render_template('kv/kv_del.html', keys=keys, active='kv')
    else:
        keys = request.form.getlist('k')
        ssdb_object = SSDBObject(request)
        ssdb_object.kv_del(*keys)
        return redirect(url_for('kv_scan'))
示例#16
0
def queue_qpush():
    """
    add item to queue(support back and front)
    :return:
    """
    if request.method == 'GET':
        queue_name = request.args.get('n')
        return render_template('queue/queue_qpush.html',
                               queue_name=queue_name,
                               active='queue')
    else:
        queue_name = request.form.get('queue_name')
        push_type = request.form.get('type')
        item = request.form.get('item')
        ssdb_object = SSDBObject(request)
        ssdb_object.queue_qpush(queue_name, item, push_type)
        return redirect(url_for('queue_qrange', n=queue_name))
示例#17
0
def queue_qpop():
    """
    pop item(s) from queue (support back and front)
    :return:
    """
    if request.method == 'GET':
        queue_name = request.args.get('n')
        return render_template('queue/queue_qpop.html',
                               queue_name=queue_name,
                               active='queue')
    else:
        queue_name = request.form.get('n')
        pop_type = request.form.get('t')
        number = request.form.get('num')
        ssdb_object = SSDBObject(request)
        ssdb_object.queue_qpop(queue_name, number, pop_type)
        return redirect(url_for('queue_qrange', n=queue_name))
示例#18
0
def kv_set():
    """
    add item to queue(support back and front)
    :return:
    """
    if request.method == 'GET':
        key = request.args.get('k', '')
        value = request.args.get('v', '')
        return render_template('kv/kv_set.html',
                               key=key,
                               value=value,
                               active='kv')
    else:
        key = request.form.get('k')
        value = request.form.get('v')
        ssdb_object = SSDBObject(request)
        ssdb_object.kv_set(key, value)
        return redirect(url_for('kv_scan'))
示例#19
0
def hash_hset():
    """
    Set the value of key within the hash_name
    :return:
    """
    if request.method == 'GET':
        name = request.args.get('n')
        key = request.args.get('k', '')
        value = request.args.get('v', '')
        return render_template('hash/hash_hset.html',
                               name=name,
                               key=key,
                               value=value,
                               active='hash')
    else:
        name = request.form.get('n')
        key = request.form.get('k')
        value = request.form.get('v')
        ssdb_object = SSDBObject(request)
        ssdb_object.hash_hset(name, key, value)
        return redirect(url_for('hash_hscan', n=name))
示例#20
0
def hash_hdel():
    """
    remove keys from zset_name
    :return:
    """
    if request.method == 'GET':
        name = request.args.get('n')
        key = request.args.get('k')
        keys = request.args.getlist('keys')
        if key:
            keys.append(key)
        return render_template('hash/hash_hdel.html',
                               keys=keys,
                               name=name,
                               active='hash')
    else:
        keys = request.form.getlist('k')
        name = request.form.get('n')
        ssdb_object = SSDBObject(request)
        ssdb_object.hash_hdel(name, *keys)
        return redirect(url_for('hash_hscan', n=name))