diff options
author | Matthew Lemon <lemon@matthewlemon.com> | 2019-10-21 20:19:13 +0100 |
---|---|---|
committer | Matthew Lemon <lemon@matthewlemon.com> | 2019-10-21 20:19:13 +0100 |
commit | cdadb51e3e4ef5fb96da41496bafb11572ec487e (patch) | |
tree | 619ae2c290b09dd68e233f3ec8781a0a27f0356c /reader/reader.go | |
parent | 950b406793cf5cd1ff64b9266cc7c91c93da803a (diff) |
passing test
Diffstat (limited to 'reader/reader.go')
-rw-r--r-- | reader/reader.go | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/reader/reader.go b/reader/reader.go index 46c7144..95ef193 100644 --- a/reader/reader.go +++ b/reader/reader.go @@ -17,17 +17,26 @@ type DatamapLine struct { Cellref string } +type fileError struct { + file string + msg string +} + +func (e *fileError) Error() string { + return fmt.Sprintf("%s", e.msg) +} + //Keylens returns the length of a key func Keylens(dml DatamapLine) (int, int) { return len(dml.Key), len(dml.Sheet) } //ReadDML returns a pointer to a slice of DatamapLine structs -func ReadDML(path string) *[]DatamapLine { +func ReadDML(path string) (*[]DatamapLine, error) { var s []DatamapLine data, err := ioutil.ReadFile(path) if err != nil { - fmt.Printf("Error! Cannot open file %s", err) + return &s, &fileError{path, "Cannot open."} } r := csv.NewReader(strings.NewReader(string(data))) for { @@ -49,7 +58,7 @@ func ReadDML(path string) *[]DatamapLine { // fmt.Printf("Key length: %d\n", klen) // fmt.Printf("Sheet length: %d\n\n", slen) } - return &s + return &s, nil } //ReadXLSX reads an XLSX file |