Beispiel #1
0
def uclite_feedback_result_view(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data, fetch_html=False)
    node_id = request.GET.get("id", "N/A")
    pos_data = list()
    for k, v in request.POST.iteritems():
        pos_data.append("%s=%s" % (k, v))

    ctx["fetch_html_begin_time"] = time.time()
    rsp_url, rsp_html, rsp_cookie = net_client.post_data(
        ctx["req_url"], '&'.join(pos_data), cookies=ctx["req_cookie"])
    ctx["fetch_html_end_time"] = time.time()
    ctx["rsp_url"] = rsp_url
    ctx["rsp_html"] = rsp_html
    ctx["rsp_cookie"] = rsp_cookie
    json_data["url"] = rsp_url

    if rsp_html == '{"code":200}':
        ctx["pb_data"] = xml2pb(None, "success", node_id,
                                "Kritik & Saran anda telah terkirim")
    else:
        ctx["pb_data"] = xml2pb(None, "error", node_id, rsp_html)
    ctx["json_data"] = rsp_html
    return gen_response(request, ctx)
Beispiel #2
0
def facebook_share(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_fb_request(request, ctx, json_data, fetch_html=False)
    node_id = request.GET.get("id", "N/A")
    pos_data = list()
    for k, v in request.POST.iteritems():
        pos_data.append("%s=%s" % (k, v))

    ctx["fetch_html_begin_time"] = time.time()
    post_data = request.body
    req = requests.request("POST",
                           ctx["req_url"],
                           headers=net_client.fb_headers,
                           data=post_data,
                           cookies=ctx["req_cookie"])
    #open("share.html", "w+").write(req.text.encode("utf-8"))
    ctx["fetch_html_end_time"] = time.time()
    ctx["rsp_url"] = req.url
    ctx["rsp_html"] = req.text
    ctx["rsp_cookie"] = ctx["req_cookie"]
    if req and req.status_code == 200:
        json_data["code"] = "200"
    else:
        json_data["code"] = "500"
    json_data["inter_type"] = "share"
    ctx["xml_data"] = FbTemplates.time_line_interaction.render(
        json_data).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "replace", "0", "Ok")
    return gen_response(request, ctx)
Beispiel #3
0
def facebook_stories_more(request):

    ctx = fetch_context(request)
    json_data = dict()
    handle_fb_request(request, ctx, json_data, fetch_html=False)
    node_id = request.GET.get("id", "N/A")
    pos_data = list()
    for key, value in request.POST.iteritems():
        pos_data.append("%s=%s" % (key, value))
        json_data[key] = value
    ctx["fetch_html_begin_time"] = time.time()

    post_data = request.body
    rsp_url, rsp_html, rsp_cookie = net_client.fb_post_data(
        ctx["req_url"], post_data, cookies=ctx["req_cookie"])
    open("more.html", "w+").write(rsp_html.encode("utf-8"))
    section_html = handle_facebook_json("replace", rsp_html)
    resp_script = handle_facebook_json("script", rsp_html)
    str_json = get_handler_json1(resp_script)
    aftercursor = get_aftercursor(str_json)
    ctx["rsp_url"] = rsp_url
    ctx["rsp_html"] = section_html
    html_ret = run_html(FbFilters.time_line_more_filter, section_html,
                        ctx["rsp_url"])
    ctx["fetch_html_end_time"] = time.time()
    ctx["rsp_cookie"] = ctx["req_cookie"]
    json_data.update(html_ret)
    json_data["aftercursor"] = aftercursor
    ctx["json_data"] = json_data
    ctx["xml_data"] = FbTemplates.time_line_more.render(json_data).encode(
        "utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "append", "page_list", "Ok")

    return gen_response(request, ctx)
Beispiel #4
0
def uclite_web_login_view(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data, fetch_html=False)
    url = request.GET.get("url", org_index_url)
    ctx["rsp_url"] = url
    ctx["rsp_cookie"] = ctx["req_cookie"]
    ctx["fetch_html_begin_time"] = time.time()
    ctx["fetch_html_end_time"] = ctx["fetch_html_begin_time"]
    json_data["url"] = url
    if request.is_secure():
        uclite_scheme = "https"
    else:
        uclite_scheme = "http"
    ctx["xml_data"] = FbTemplates.time_line_login.render({
        "url":
        url,
        "uclite_host":
        request.get_host(),
        "uclite_scheme":
        uclite_scheme
    }).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "error", "0", "system error")
    return gen_response(request, ctx)
Beispiel #5
0
def uclite_list_cmd_view(request, cmd):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data)
    json_data.update(
        run_html(Filters.list_node_filter, ctx["rsp_html"], ctx["rsp_url"]))

    max_index = int(ctx["req_params"].get("index", "0"))
    json_data["list_chncat"] = ctx["req_url_params"].get("chncat", "0")
    json_data["list_key"] = ctx["req_url"][ctx["req_url"].find('/list/') +
                                           6:ctx["req_url"].find('?')]
    json_data["list_id"] = request.GET.get("id", "-1")
    has_index = json_data["list_key"] == "topics"
    if 'items' in json_data:
        for i, item in enumerate(json_data['items']):
            json_data['items'][i]['index'] = int(json_data['items'][i].get(
                'index', '0')) + max_index + 1
        json_data['max_index'] = max_index + len(json_data['items'])

    if has_index:
        json_data["first_pos"] = ""
        if cmd == "prepend":
            cmd = "replace"

    ctx["json_data"] = json_data
    ctx["xml_data"] = templates.list_node_template.render(
        ctx["json_data"]).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, cmd, request.GET.get("id", "N/A"), "Ok")
    return gen_response(request, ctx)
Beispiel #6
0
def facebook_login(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_fb_request(request, ctx, json_data, fetch_html=False)
    node_id = request.GET.get("id", "N/A")
    pos_data = list()
    for k, v in request.POST.iteritems():
        pos_data.append("%s=%s" % (k, v))
    ctx["fetch_html_begin_time"] = time.time()
    pri_cookies = dict()

    req = requests.request("POST",
                           ctx["req_url"],
                           headers=net_client.fb_headers,
                           data='&'.join(pos_data))
    rsp_url = req.url
    rsp_html = req.text
    rsp_cookie = req.cookies
    rsp_status = req.status_code
    ctx["fetch_html_end_time"] = time.time()
    ctx["rsp_url"] = rsp_url
    ctx["rsp_html"] = rsp_html
    json_data["url"] = rsp_url
    ctx["rsp_cookie"] = rsp_cookie
    for k, v in req.cookies.iteritems():
        print k, v
    if req and req.text and 200 <= rsp_status < 400 and req.cookies:
        rejson = get_handler_json(req.text)
        if rejson:
            encrypt = get_encrypted(rsp_html)
            pri_cookies["encrypt"] = encrypt
            ctx["pri_cookies"] = pri_cookies
            redir_url = get_redirect_url(rejson)
            ctx["location"] = ctx["uclite_scheme"] + "://" + request.get_host(
            ) + "/uclite/time_line/?url=" + redir_url
            ctx["pb_data"] = xml2pb(None, "success", node_id, "login success")

    if "location" not in ctx.keys():
        ctx["xml_data"] = FbTemplates.time_line_login.render(json_data).encode(
            "utf-8")
        xml_node = etree.XML(ctx["xml_data"])
        ctx["pb_data"] = xml2pb(xml_node, "error", node_id, "login error")
    ctx["rsp_cookie"] = rsp_cookie
    ctx["json_data"] = rsp_html
    return gen_response(request, ctx)
Beispiel #7
0
def uclite_content_append_view(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data)
    json_data.update(
        run_html(Filters.content_page_more_text_filter, ctx["rsp_html"],
                 ctx["rsp_url"]))

    ctx["json_data"] = json_data
    ctx["xml_data"] = templates.content_page_more_template.render(
        ctx["json_data"]).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "append", "content_read_more", "Ok")
    return gen_response(request, ctx)
Beispiel #8
0
def uclite_web_view_view(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data, fetch_html=False)
    url = request.GET.get("url", org_index_url)
    ctx["rsp_url"] = url
    ctx["rsp_cookie"] = ctx["req_cookie"]
    ctx["fetch_html_begin_time"] = time.time()
    ctx["fetch_html_end_time"] = ctx["fetch_html_begin_time"]
    ctx["xml_data"] = templates.web_view_template.render({
        "url": url
    }).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "replace", "0", "Ok")
    return gen_response(request, ctx)
Beispiel #9
0
def uclite_content_view(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data, cache_enable=True)
    json_data.update(
        run_html(Filters.content_page_filter, ctx["rsp_html"], ctx["rsp_url"]))
    json_data["list_id"] = "hot_list"
    ctx["json_data"] = json_data
    ctx["xml_data"] = templates.content_page_template.render(
        ctx["json_data"]).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "replace", "0", "Ok")
    rsp = gen_response(request, ctx)
    rsp["Cache-Control"] = "max-age=%d" % content_page_cache_seconds
    return rsp
Beispiel #10
0
def facebook_test_stories(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_fb_request(request, ctx, json_data, False)
    ctx["rsp_cookie"] = ctx["req_cookie"]
    all_text = open("./facebookm.html", "r").read().decode("utf-8")
    html_ret = run_html(FbFilters.time_line_filter, all_text, "")

    json_data.update(html_ret)
    ctx["json_data"] = json_data
    ctx["xml_data"] = FbTemplates.time_line_template.render(json_data).encode(
        "utf-8")
    open("xml_data_test.xml", "w+").write(ctx["xml_data"])
    xml_node = etree.XML(ctx["xml_data"])

    ctx["pb_data"] = xml2pb(xml_node, "replace", "0", "Ok")
    return gen_response(request, ctx)
Beispiel #11
0
def uclite_content_list_cmd_view(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data)
    json_data.update(
        run_html(Filters.content_page_hot_list_filter, ctx["rsp_html"],
                 ctx["rsp_url"]))

    json_data["list_chncat"] = ctx["req_url_params"].get(
        "chncat", 'hotnews_indonesian')
    json_data["list_key"] = ctx["req_url"][ctx["req_url"].find('/list/') +
                                           6:ctx["req_url"].find('?')]
    json_data["list_id"] = request.GET.get("id", "-1")
    first_page = ctx["req_url_params"].get("firstPage", "")
    page = ctx["req_url_params"].get("page", "")

    if not first_page and page:
        page = int(page)
        first_page = page - 1
    elif not page and first_page:
        first_page = int(first_page)
        page = first_page + 1
    elif not first_page and not page:
        first_page = 1
        page = 2
    else:
        first_page = int(first_page)
        page = int(page) + 1
    json_data["first_page"] = first_page
    json_data["page"] = page
    json_data["load_more"] = page <= first_page + 5

    ctx["json_data"] = json_data
    if json_data["list_key"] == 'hotNews':
        ctx["xml_data"] = templates.content_page_hot_list_template.render(
            json_data).encode("utf-8")
    else:
        ctx["xml_data"] = templates.content_page_next_list_template.render(
            json_data).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "append", request.GET.get("id", "-1"),
                            "Ok")
    return gen_response(request, ctx)
Beispiel #12
0
def facebook_stories(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_fb_request(request, ctx, json_data)
    rsp_url = ctx["rsp_url"]
    open("./facebook.html", "w+").write(ctx["rsp_html"].encode("utf-8"))
    html_ret = run_html(FbFilters.time_line_filter, ctx["rsp_html"],
                        ctx["rsp_url"])
    if rsp_url.find("m.facebook.com/login.php") >= 0:
        ctx["xml_data"] = FbTemplates.time_line_login.render(json_data).encode(
            "utf-8")
        logging.error("can not get facebook_stories")
    else:
        json_data.update(html_ret)
        ctx["json_data"] = json_data
        ctx["xml_data"] = FbTemplates.time_line_template.render(
            json_data).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "replace", "0", "Ok")
    return gen_response(request, ctx)
Beispiel #13
0
def facebook_test(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_fb_request(request, ctx, json_data, fetch_html=False)

    more_html = open("more2.html", "r").read().decode("utf-8")
    section_html = handle_facebook_json("replace", more_html)
    open("test_section_html.html", "w+").write(section_html.encode("utf-8"))
    html_ret = run_html(FbFilters.time_line_more_filter, section_html,
                        "baidu.com")
    ctx["fetch_html_end_time"] = time.time()
    ctx["rsp_cookie"] = ctx["req_cookie"]
    json_data.update(html_ret)
    ctx["json_data"] = json_data
    json.dump(html_ret, open('test_more_json.txt', 'w+'))
    ctx["xml_data"] = FbTemplates.time_line_more.render(json_data).encode(
        "utf-8")
    open("test_xml_data.txt", "w+").write(ctx["xml_data"])
    xml_node = etree.XML(ctx["xml_data"])

    ctx["pb_data"] = xml2pb(xml_node, "append", "page_list", "Ok")
    return gen_response(request, ctx)
Beispiel #14
0
def uclite_simple_list_page_view(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data)
    json_data.update(
        run_html(Filters.simple_list_page_filter, ctx["rsp_html"],
                 ctx["rsp_url"]))
    json_data["list_id"] = "page_list"
    json_data["disable_refresh"] = True
    max_index = int(ctx["req_params"].get("index", "0"))
    if 'items' in json_data:
        for i, item in enumerate(json_data['items']):
            json_data['items'][i]['index'] = int(
                json_data['items'][i]['index']) + max_index + 1
        json_data['max_index'] = max_index + len(json_data['items'])

    ctx["json_data"] = json_data
    ctx["xml_data"] = templates.simple_list_page_template.render(
        ctx["json_data"]).encode("utf-8")
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "replace", "0", "Ok")
    return gen_response(request, ctx)
Beispiel #15
0
def uclite_feedback_view(request, page_type):
    ctx = fetch_context(request)
    json_data = dict()
    handle_request(request, ctx, json_data)
    json_data["ref_url"] = request.GET.get('ref', "")
    if page_type == 'index':
        json_data.update(
            run_html(Filters.index_feedback_filter, ctx["rsp_html"],
                     ctx["rsp_url"]))
        ctx["xml_data"] = templates.index_feedback_template.render(
            json_data).encode("utf-8")
    else:
        json_data.update(
            run_html(Filters.detail_feedback_filter, ctx["rsp_html"],
                     ctx["rsp_url"]))
        ctx["xml_data"] = templates.detail_feedback_template.render(
            json_data).encode("utf-8")

    ctx["json_data"] = json_data
    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "replace", request.GET.get("id", "0"),
                            "Ok")
    return gen_response(request, ctx)
Beispiel #16
0
def facebook_like(request):
    ctx = fetch_context(request)
    json_data = dict()
    handle_fb_request(request, ctx, json_data, fetch_html=False)
    node_id = request.GET.get("id", "N/A")
    pos_data = list()
    for k, v in request.POST.iteritems():
        pos_data.append("%s=%s" % (k, v))

    ctx["fetch_html_begin_time"] = time.time()
    post_data = request.body
    rsp_url, rsp_html, rsp_cookie = net_client.fb_post_data(
        ctx["req_url"], post_data, cookies=ctx["req_cookie"])
    #open("like.html" ,"w+").write(rsp_html.encode("utf-8"))
    handler_json = get_handler_json(rsp_html)
    ctx["fetch_html_end_time"] = time.time()
    ctx["rsp_url"] = rsp_url
    ctx["rsp_html"] = rsp_html
    ctx["rsp_cookie"] = ctx["req_cookie"]

    if handler_json:
        json_data = get_after_like_data(handler_json)
        if json_data:
            json_data["code"] = "200"
        else:
            json_data["code"] = "500"
    else:
        json_data["code"] = "500"

    json_data["inter_type"] = "like"
    ctx["xml_data"] = FbTemplates.time_line_interaction.render(
        json_data).encode("utf-8")

    xml_node = etree.XML(ctx["xml_data"])
    ctx["pb_data"] = xml2pb(xml_node, "replace", "0", rsp_url)

    return gen_response(request, ctx)