Ejemplo n.º 1
0
def convert_document(input_data, input_format, output_format, source):
    # 1: Convert to metajson
    if input_format == "metajson":
        metajson_document = input_data
    elif input_format == "bibtex":
        metajson_document = bibtex_to_metajson.convert_bibtext_entry_to_metajson_document(input_data)
    elif input_format == "unixref":
        metajson_document = crossref_unixref_to_metajson.convert_crossref_unixref_record_to_metajson_document(input_data)
    elif input_format == "mods":
        metajson_document = mods_to_metajson.convert_mods_string_to_metajson_document(input_data, source)
    elif input_format == "summonjson":
        metajson_document = summon_json_to_metajson.convert_summon_json_document_to_metajson_document(input_data)

    if metajson_document is not None:
        if output_format == "metajson":
            return metajson_document
        if output_format == "openurl":
            return metajson_to_openurl.convert_metajson_document_to_openurl(metajson_document)
        elif output_format == "bibtex":
            return None
def test():
    base_dir = os.path.join(os.getcwd(), "data")
    print "base_dir: " + base_dir

    input_dir = os.path.join(base_dir, "result")
    openurl_list = []
    for file_name in os.listdir(input_dir):
        if file_name.endswith(".json"):
            file_path = os.path.join(input_dir, file_name)
            print file_path

            metajson_list = import_service.load_metajson_file(file_path)
            if metajson_list:
                for metajson in metajson_list:
                    openurl = metajson_to_openurl.convert_metajson_document_to_openurl(metajson)
                    print openurl
                    openurl_list.append(openurl)

    if openurl_list:
        output_path = os.path.join(base_dir, "result", "result_metajon_to_openurl.txt")
        export_service.export_textline(openurl_list, output_path)
    else:
        assert False