def dump_json():
    ITEM_PER_PAGE = 10
    page = request.args.get("page")
    if not page:
        page = 1
    page = int(page)
    output = []
    result_data = ResultData.select()
    count = result_data.count()
    result_page = result_data.paginate(page, paginate_by=ITEM_PER_PAGE)
    num_page = count / ITEM_PER_PAGE + 1
    for entry in result_page:
        output.append(entry.to_json())
    json_output = {
        "pages": num_page,
        "total": count,
        "page": page,
        "item_per_page": ITEM_PER_PAGE,
        "results": output
    }
    if page > 1:
        json_output["prev_url"] = "%s/dump?page=%s" % (app.config["URL"], page - 1)
    if page < num_page:
        json_output["next_url"] = "%s/dump?page=%s" % (app.config["URL"], page + 1)

    return jsonify(json_output)
def dump_json():
    output = []
    result_data = ResultData.select()
    for entry in result_data:
        output.append(entry.to_json())

    return jsonify({ "results": output, "total": len(output) })
def fetch_json(transaction_id):
    result_data = ResultData.select().where(ResultData.transaction_id==transaction_id)
    output = []
    for entry in result_data:
        output.append(entry.to_json())

    return jsonify({ "results": output, "total": len(output) })
def fetch_html(transaction_id):
    result_data = ResultData.select().where(ResultData.transaction_id==transaction_id)
    output = {}
    entry_url = ""
    for entry in result_data:
        # it is the same url, and I'm lazy
        entry_url = entry.url
        isp = output.setdefault(entry.isp, {})
        location = isp.setdefault(entry.location, [])
        location.append({ "description": entry.description, "status": entry.status, "reason": entry.reason,
                          "task_status": entry.task_status })
    current_url = "%s/%s.html" % (app.config["URL"], transaction_id)
    return render_template("index.html", output=output, share=True, url=app.config["URL"], current_url=current_url,
                           target_url= entry_url)