Пример #1
0
def test_basic_pagination():
    p = Pagination(None, 1, 20, 500, [])
    assert p.page == 1
    assert not p.has_prev
    assert p.has_next
    assert p.total == 500
    assert p.pages == 25
    assert p.next_num == 2
    assert list(p.iter_pages()) == [1, 2, 3, 4, 5, None, 24, 25]
    p.page = 10
    assert list(p.iter_pages()) == [
        1, 2, None, 8, 9, 10, 11, 12, 13, 14, None, 24, 25
    ]
Пример #2
0
def UploadRPCserver():
    action = request.form.get('action')
    page = request.form.get('page', 1, type=int)
    if action == 'pagination':
        data = {'code': 1}
        total = get_upload_tasks_no()
        pagination = Pagination(query=None,
                                page=page,
                                per_page=50,
                                total=total,
                                items=None)
        data['page'] = page
        data['pages'] = pagination.pages
        page_lists = []
        for p in pagination.iter_pages():
            page_lists.append(p)
        data['page_lists'] = page_lists[::-1]
        data['has_prev'] = pagination.has_prev
        data['has_next'] = pagination.has_next
        return jsonify(data)
    elif action == 'ClearHist':
        mon_db.upload_queue.delete_many({})
        ret = {'msg': '清除成功!'}
        return jsonify(ret)
    elif action == 'Restart':
        cmd = 'python {}/function.py StartUploadQueue'.format(config_dir)
        subprocess.Popen(cmd, shell=True)
        ret = {'msg': '重启成功!'}
        return jsonify(ret)
    ret = get_upload_tasks(page)
    data = {'code': 1, 'result': ret}
    return jsonify(data)