def convert_native(input_data, input_format, output_format, source, rec_id_prefix, only_first_record, all_in_one_file):
    """ Convert native format
        xml : xmletree root element
        json : dict
        bibtex : bibtex root
        txt : list of line
    """
    if input_format is not None:
        input_type = io_service.guess_type_from_format(input_format)

        if input_type is not None:
            metajson_list = None
            if input_type == constants.FILE_TYPE_XMLETREE:
                # xml
                metajson_list = convert_xmletree(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_JSON:
                # json
                metajson_list = convert_json(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_BIBTEX:
                # bibtex
                metajson_list = convert_bibtext(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_TXT:
                # txt
                metajson_list = convert_txt_lines(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_CSV:
                # csv
                metajson_list = convert_csv(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_MARC:
                # marc
                metajson_list = convert_marc(input_data, input_format, source, rec_id_prefix, only_first_record)

            if metajson_list:
                # enhance metajson list
                metajson_list = metajson_service.enhance_metajson_list(metajson_list)
                return convert_metajson_list(metajson_list, output_format, all_in_one_file)
def parse_and_convert_file(input_file_path, input_format, output_format, source, rec_id_prefix, only_first_record, all_in_one_file):
    """ Convert from a file path """
    # input_format type determination
    input_type = io_service.guess_type_from_format(input_format)

    if input_type is None:
        # file_extension type determination
        input_type = io_service.guess_type_from_file(input_file_path)

    #logging.info("parse_and_convert_file input_file_path: {}; input_format: {}; input_type: {}".format(input_file_path, input_format, input_type))
    if input_type is not None:
        metajson_list = None
        if input_type == constants.FILE_TYPE_XMLETREE:
            # xml
            metajson_list = parse_and_convert_xmletree(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_JSON:
            # json
            metajson_list = parse_and_convert_json(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_BIBTEX:
            # bibtex
            metajson_list = parse_and_convert_bibtex(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_TXT:
            # txt
            metajson_list = parse_and_convert_txt_lines(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_MARC:
            # marc
            metajson_list = parse_and_convert_marc(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_CSV:
            # csv
            metajson_list = parse_and_convert_csv(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        if metajson_list:
            # enhance metajson list
            metajson_list = metajson_service.enhance_metajson_list(metajson_list)
            return convert_metajson_list(metajson_list, output_format, all_in_one_file)
Exemplo n.º 3
0
def convert_native(input_data, input_format, output_format, source, rec_id_prefix, only_first_record, all_in_one_file):
    """ Convert native format
        xml : xmletree root element
        json : dict
        bibtex : bibtex root
        txt : list of line
    """
    if input_format is not None:
        input_type = io_service.guess_type_from_format(input_format)

        if input_type is not None:
            metajson_list = None
            if input_type == constants.FILE_TYPE_XMLETREE:
                # xml
                metajson_list = convert_xmletree(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_JSON:
                # json
                metajson_list = convert_json(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_BIBTEX:
                # bibtex
                metajson_list = convert_bibtext(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_TXT:
                # txt
                metajson_list = convert_txt_lines(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_CSV:
                # csv
                metajson_list = convert_csv(input_data, input_format, source, rec_id_prefix, only_first_record)

            elif input_type == constants.FILE_TYPE_MARC:
                # marc
                metajson_list = convert_marc(input_data, input_format, source, rec_id_prefix, only_first_record)

            if metajson_list:
                # enhance metajson list
                metajson_list = metajson_service.enhance_metajson_list(metajson_list)
                return convert_metajson_list(metajson_list, output_format, all_in_one_file)
Exemplo n.º 4
0
def parse_and_convert_file(input_file_path, input_format, output_format, source, rec_id_prefix, only_first_record, all_in_one_file):
    """ Convert from a file path """
    # input_format type determination
    input_type = io_service.guess_type_from_format(input_format)

    if input_type is None:
        # file_extension type determination
        input_type = io_service.guess_type_from_file(input_file_path)

    #logging.info("parse_and_convert_file input_file_path: {}; input_format: {}; input_type: {}".format(input_file_path, input_format, input_type))
    if input_type is not None:
        metajson_list = None
        if input_type == constants.FILE_TYPE_XMLETREE:
            # xml
            metajson_list = parse_and_convert_xmletree(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_JSON:
            # json
            metajson_list = parse_and_convert_json(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_BIBTEX:
            # bibtex
            metajson_list = parse_and_convert_bibtex(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_TXT:
            # txt
            metajson_list = parse_and_convert_txt_lines(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_MARC:
            # marc
            metajson_list = parse_and_convert_marc(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_CSV:
            # csv
            metajson_list = parse_and_convert_csv(input_file_path, input_format, source, rec_id_prefix, only_first_record)

        if metajson_list:
            # enhance metajson list
            metajson_list = metajson_service.enhance_metajson_list(metajson_list)
            return convert_metajson_list(metajson_list, output_format, all_in_one_file)
def parse_and_convert_string(input_string, input_format, output_format, source, rec_id_prefix, only_first_record, all_in_one_file):
    # input_format type determination
    input_type = io_service.guess_type_from_format(input_format)
    if input_type is None:
        # string type determination
        input_type = io_service.guess_format_from_string(input_string)

    if input_type is not None:
        metajson_list = None
        if input_type == constants.FILE_TYPE_XMLETREE:
            metajson_list =  parse_and_convert_xmletree_str(input_string, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_JSON:
            metajson_list = parse_and_convert_json_str(input_string, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_BIBTEX:
            metajson_list = parse_and_convert_bibtex(input_string, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_TXT:
            metajson_list = parse_and_convert_txt_lines(input_string.splitlines(), input_format, source, rec_id_prefix, only_first_record)

        if metajson_list:
            metajson_list = metajson_service.enhance_metajson_list(metajson_list)
            return convert_metajson_list(metajson_list, output_format, all_in_one_file)
Exemplo n.º 6
0
def parse_and_convert_string(input_string, input_format, output_format, source, rec_id_prefix, only_first_record, all_in_one_file):
    # input_format type determination
    input_type = io_service.guess_type_from_format(input_format)
    if input_type is None:
        # string type determination
        input_type = io_service.guess_format_from_string(input_string)

    if input_type is not None:
        metajson_list = None
        if input_type == constants.FILE_TYPE_XMLETREE:
            metajson_list =  parse_and_convert_xmletree_str(input_string, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_JSON:
            metajson_list = parse_and_convert_json_str(input_string, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_BIBTEX:
            metajson_list = parse_and_convert_bibtex(input_string, input_format, source, rec_id_prefix, only_first_record)

        elif input_type == constants.FILE_TYPE_TXT:
            metajson_list = parse_and_convert_txt_lines(input_string.splitlines(), input_format, source, rec_id_prefix, only_first_record)

        if metajson_list:
            metajson_list = metajson_service.enhance_metajson_list(metajson_list)
            return convert_metajson_list(metajson_list, output_format, all_in_one_file)