Exemplo n.º 1
0
def test_writing_all_list_tags():
    expected = [
        {
            "type_of_reference": "JOUR",
            "authors": ["Marx, Karl", "Marxus, Karlus"],
            "issn": ["12345", "ABCDEFG", "666666"],
        }
    ]

    export = rispy.dumps(expected, enforce_list_tags=False, list_tags=[])
    entries = rispy.loads(export, list_tags=["AU", "SN"])
    assert expected == entries
Exemplo n.º 2
0
def test_dump_and_load():
    # check that we can write the same file we read
    source_fp = DATA_DIR / "example_full.ris"

    # read text
    actual = source_fp.read_text()

    # map to RIS structure and dump
    entries = rispy.loads(actual)
    export = rispy.dumps(entries)

    assert actual == export
Exemplo n.º 3
0
def test_custom_list_tags():
    filepath = DATA_DIR / "example_custom_list_tags.ris"
    list_tags = deepcopy(rispy.LIST_TYPE_TAGS)
    list_tags.append("SN")

    expected = {
        "type_of_reference": "JOUR",
        "authors": ["Marx, Karl", "Marxus, Karlus"],
        "issn": ["12345", "ABCDEFG", "666666"],
    }

    actual = filepath.read_text()

    entries = rispy.loads(actual, list_tags=list_tags)
    assert expected == entries[0]

    export = rispy.dumps(entries, list_tags=list_tags)
    assert export == actual
Exemplo n.º 4
0
def test_skip_unknown_tags():
    entries = [
        {
            "type_of_reference": "JOUR",
            "authors": ["Marx, Karl", "Marxus, Karlus"],
            "issn": "12222",
            "unknown_tag": {"JP": ["CRISPR"], "DC": ["Direct Current"]},
        }
    ]
    expected = [
        {
            "type_of_reference": "JOUR",
            "authors": ["Marx, Karl", "Marxus, Karlus"],
            "issn": "12222",
        }
    ]

    export = rispy.dumps(entries, skip_unknown_tags=True)
    reload = rispy.loads(export)

    assert reload == expected