Exemplo n.º 1
0
def refextract_url():
    """Run refextract on a URL."""
    if current_app.config.get("FEATURE_FLAG_ENABLE_REFEXTRACT_SERVICE"):
        headers = {
            "Content-Type": "application/json",
            "Accept": "application/json"
        }
        data = {
            "journal_kb_data": create_journal_dict(),
            "url": request.json["url"]
        }
        response = requests.post(
            f"{current_app.config['REFEXTRACT_SERVICE_URL']}/extract_references_from_url",
            headers=headers,
            data=orjson.dumps(data),
        )
        if response.status_code != 200:
            return jsonify({"message": "Can not extract references"}, 500)
        extracted_references = response.json()["extracted_references"]
    else:
        extracted_references = extract_references_from_url(
            request.json["url"],
            override_kbs_files={"journals": create_journal_dict()},
            reference_format="{title},{volume},{page}",
        )
    deduplicated_extracted_references = dedupe_list(extracted_references)
    references = map_refextract_to_schema(deduplicated_extracted_references)
    match_result = match_references(references)
    return jsonify(match_result.get("matched_references"))
Exemplo n.º 2
0
def test_create_journal_dict(inspire_app):
    data = {
        "journal_title": {
            "title": "Journal of Physical Science and Application"
        },
        "short_title": "J.Phys.Sci.Appl.",
        "title_variants": ["PHYS SCI APPL"],
    }
    create_record("jou", data=data)

    data = {
        "journal_title": {
            "title": "Image and Vision Computing"
        },
        "short_title": "Image Vision Comput.",
        "title_variants": ["IMAGE VISION COMPUT", "IMAGE VISION - COMPUTING"],
    }
    create_record("jou", data=data)

    expected = {
        "J PHYS SCI APPL": "J.Phys.Sci.Appl.",
        "JOURNAL OF PHYSICAL SCIENCE AND APPLICATION": "J.Phys.Sci.Appl.",
        "PHYS SCI APPL": "J.Phys.Sci.Appl.",
        "IMAGE VISION COMPUT": "Image Vision Comput.",
        "IMAGE AND VISION COMPUTING": "Image Vision Comput.",
        "IMAGE VISION COMPUTING": "Image Vision Comput.",
    }

    result = create_journal_dict()

    assert expected == result
Exemplo n.º 3
0
def refextract_url():
    """Run refextract on a URL."""
    extracted_references = extract_references_from_url(
        request.json["url"],
        override_kbs_files={"journals": create_journal_dict()},
        reference_format="{title},{volume},{page}",
    )
    references = map_refextract_to_schema(extracted_references)
    match_result = match_references(references)
    return jsonify(match_result.get("matched_references"))