This commit is contained in:
2026-08-15 23:08:36 -05:00
parent 133a54657c
commit c32957b78e
37 changed files with 134528 additions and 2 deletions
+58
View File
@@ -0,0 +1,58 @@
defmodule Casebot do
@moduledoc """
Documentation for `Casebot`.
master_data is a list of tuples that contains the box designation, row number, and a list of tuples that contain tuples of the road name and address number
[(box_designation, row_number, [(road_name, address_number), (road_name, address_number)]), (box_designation, row_number, [(road_name, address_number), (road_name, address_number)],]
Persistence is stored as plaintext in a file called persist.csv. The
"""
@doc """
master_loop
Called by entry_function. Takes master_data object and modifies/reads that as
program main loop. Recursive calls itself.
"""
def master_loop(master_data) do
entry = IO.gets(">>>")
command_word = String.split(entry) |> List.first()
words = String.split(entry)
case command_word do
"add" -> add_to_master(words, master_data)
"find" -> find_in_master(words, master_data)
"clear" -> clear_entry(words, master_data)
end
master_loop(master_data)
end
def run() do
#master_data = ensure_file()
end
def ensure_file(path \\ "persist.csv") do
unless File.exists?(path) do
File.write!(path, "box_name,row_number,road_name,address_number\n")
end
path
end
def add_to_master(entry, master_data) do
end
def clear_entry(entry, master_data) do
end
def find_in_master(entry, master_data) do
end
end
+8
View File
@@ -0,0 +1,8 @@
defmodule Casebot.CSV do
def rows(path) do
path
|> File.read!()
|> NimbleCSV.RFC4180.parse_string(skip_headers: false)
|> Enum.map(fn row -> Enum.map(row, &:binary.copy/1) |> List.to_tuple() end)
end
end