Currently what I’m doing is totally wrong.
defp config_parser_and_return_file_path(config) do
params = config["params"]
csv_sep = params["sep"] |> config_seperator
csv_delimiter = params["delimiter"] |> config_escape_char
IO.inspect "seperator #{csv_sep}, escape #{csv_delimiter}"
CSVParser
|> NimbleCSV.define(separator: csv_sep, escape: csv_delimiter)
config["file_path"]
end
defp config_seperator(""), do: "\t"
defp config_seperator("\\t"), do: "\t"
defp config_seperator(csv_sep), do: csv_sep
defp config_escape_char(""), do: "|"
defp config_escape_char(csv_delimiter), do: csv_delimiter
But I have a multi tenant app where the csv format can be different. So I have to do this in code.