Exemplo n.º 1
0
def search(query, wfile):
    query_len = 1
    text = query["text"][0]
    if text == "word-info":
        return word_info(query, wfile)
    elif text == "document-info":
        return doc_info(query, wfile)
    elif text == "lexgramm":
        saas_query, query_len = parse_lexgramm_cgi(query)
    elif text == "lexform":
        saas_query, query_len = parse_lexform_cgi(query)
    else:
        saas_query = text

    serp_params = dict(DEFAULT_SERP_PARAMS)
    serp_params["p"] = p = int(query.get("p", [0])[0])
    serp_params["dpp"] = dpp = int(query.get("dpp", [10])[0])
    serp_params["spd"] = spd = int(query.get("spd", [10])[0])

    response = SearchResponse(
        query=saas_query,
        kps=KPS,
        max_docs=(p + 1) * dpp,
        docs_per_group=spd,
        hits_count=True,
        hits_info=True,
    )

    results, stat = process(response, query_len, serp_params)
    rendering.render_xml(results, stat, serp_params, wfile)
Exemplo n.º 2
0
def search(query, wfile):
    query_len = 1
    text = query["text"][0]
    if text == "word-info":
        return word_info(query, wfile)
    elif text == "document-info":
        return doc_info(query, wfile)
    elif text == "lexgramm":
        saas_query, query_len = parse_lexgramm_cgi(query)
    elif text == "lexform":
        saas_query, query_len = parse_lexform_cgi(query)
    else:
        saas_query = text

    serp_params = dict(DEFAULT_SERP_PARAMS)
    serp_params["p"] = p = int(query.get("p", [0])[0])
    serp_params["dpp"] = dpp = int(query.get("dpp", [10])[0])
    serp_params["spd"] = spd = int(query.get("spd", [10])[0])

    response = SearchResponse(
        query=saas_query,
        kps=KPS,
        max_docs=(p + 1) * dpp,
        docs_per_group=spd,
        hits_count=True,
        hits_info=True,
    )

    results, stat = process(response, query_len, serp_params)
    rendering.render_xml(results, stat, serp_params, wfile)
Exemplo n.º 3
0
def doc_info(query, wfile):
    docid = base64.b64decode(query["docid"][0])
    response = SearchResponse(
        query='p_url:"%s"' % docid,
        kps=KPS,
        grouping=False,
        max_docs=1,
    )
    if response.IsEmpty():
        return
    attrs = tuple(response.Groups())[0].Attrs()
    results = [{"Attrs": attrs, "Snippets": [], "Url": docid}]
    stat = {"Docs": 1, "Hits": 0}
    rendering.render_xml(results, stat, DEFAULT_SERP_PARAMS, wfile, query_type="document-info", search_type="document-info")
Exemplo n.º 4
0
def doc_info(query, wfile):
    docid = base64.b64decode(query["docid"][0])
    response = SearchResponse(
        query='p_url:"%s"' % docid,
        kps=KPS,
        grouping=False,
        max_docs=1,
    )
    if response.IsEmpty():
        return
    attrs = tuple(response.Groups())[0].Attrs()
    results = [{"Attrs": attrs, "Snippets": [], "Url": docid}]
    stat = {"Docs": 1, "Hits": 0}
    rendering.render_xml(results,
                         stat,
                         DEFAULT_SERP_PARAMS,
                         wfile,
                         query_type="document-info",
                         search_type="document-info")