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)
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
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)
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)
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)