def get_column_properties(dt_node, object_name):
    data_file = object_name
    (column_vartypes, _, _) = user_data.get_uploaded_table_column_properties(data_file)
    if column_vartypes:
        return column_vartypes
    uploads_folder = user_data.get_document_uploads_folder_name()
    num_header_rows = 1
    field_delimiter_node = dt_node.find_descendant(names.FIELDDELIMITER)
    if field_delimiter_node:
        delimiter = field_delimiter_node.content
    else:
        delimiter = ','
    quote_char_node = dt_node.find_descendant(names.QUOTECHARACTER)
    if quote_char_node:
        quote_char = quote_char_node.content
    else:
        quote_char = '"'
    try:
        (new_dt_node, new_column_vartypes, new_column_names, new_column_categorical_codes, *_) = load_data_table(uploads_folder, data_file, num_header_rows, delimiter, quote_char)
        user_data.add_uploaded_table_properties(data_file, new_column_vartypes, new_column_names, new_column_categorical_codes)
        return new_column_vartypes
    except FileNotFoundError:
        raise FileNotFoundError('The older version of the data table is missing from our server. Please use "Load Data Table from CSV File" instead of "Re-upload".')
    except Exception as err:
        raise Exception('Internal error 103')
def get_column_properties(dt_node, object_name):
    data_file = object_name
    (column_vartypes, _, _) = user_data.get_uploaded_table_column_properties(data_file)
    if column_vartypes:
        return column_vartypes
    uploads_folder = user_data.get_document_uploads_folder_name()
    num_header_rows = 1
    field_delimiter_node = dt_node.find_descendant(names.FIELDDELIMITER)
    if field_delimiter_node:
        delimiter = field_delimiter_node.content
    else:
        delimiter = ','
    quote_char_node = dt_node.find_descendant(names.QUOTECHARACTER)
    if quote_char_node:
        quote_char = quote_char_node.content
    else:
        quote_char = '"'
    try:
        (new_dt_node, new_column_vartypes, new_column_names, new_column_categorical_codes, *_) = load_data_table(uploads_folder, data_file, num_header_rows, delimiter, quote_char)
        user_data.add_uploaded_table_properties(data_file, new_column_vartypes, new_column_names, new_column_categorical_codes)
        return new_column_vartypes
    except FileNotFoundError:
        raise FileNotFoundError('The older version of the data table is missing from our server. Please use "Load Data Table from CSV File" instead of "Re-upload".')
    except Exception as err:
        raise Exception('Internal error 103')