Ok ça avance
This commit is contained in:
parent
b48f2dc7fe
commit
d33fbd13f9
20
csvparser.go
20
csvparser.go
|
@ -47,12 +47,16 @@ func (p *CsvParser) Parse(line string) (map[string]string, error) {
|
|||
indexMax := len(line) - 1
|
||||
for index, r := range line {
|
||||
if index == indexMax {
|
||||
fmt.Println("EOL")
|
||||
if currentFieldIndex < len(p.fields) {
|
||||
fmt.Println("start:", valueStart, "end:", index)
|
||||
fmt.Println("Found a field value for:", p.fields[currentFieldIndex], line[valueStart:index])
|
||||
ret[p.fields[currentFieldIndex]] = line[valueStart:index]
|
||||
fmt.Println("Index is:", index)
|
||||
//fmt.Println("start:", valueStart, "end:", index)
|
||||
//fmt.Println("Found a field value for:", p.fields[currentFieldIndex], line[valueStart:index])
|
||||
if inEnclosedField && r == currentEncloserEnd {
|
||||
ret[p.fields[currentFieldIndex]] = line[valueStart:index]
|
||||
} else {
|
||||
ret[p.fields[currentFieldIndex]] = line[valueStart : index+1]
|
||||
}
|
||||
|
||||
//fmt.Println("Index is:", index)
|
||||
}
|
||||
}
|
||||
if r == '\\' {
|
||||
|
@ -64,10 +68,10 @@ func (p *CsvParser) Parse(line string) (map[string]string, error) {
|
|||
} else if r == p.delimiter {
|
||||
|
||||
if currentFieldIndex < len(p.fields) {
|
||||
fmt.Println("start:", valueStart, "end:", index)
|
||||
fmt.Println("Found a field value for:", p.fields[currentFieldIndex], line[valueStart:index])
|
||||
//fmt.Println("start:", valueStart, "end:", index)
|
||||
//fmt.Println("Found a field value for:", p.fields[currentFieldIndex], line[valueStart:index])
|
||||
ret[p.fields[currentFieldIndex]] = line[valueStart:index]
|
||||
fmt.Println("Index is:", index)
|
||||
//fmt.Println("Index is:", index)
|
||||
valueStart = index + 1
|
||||
}
|
||||
currentFieldIndex++
|
||||
|
|
|
@ -15,13 +15,15 @@ func TestCorrectLines(t *testing.T) {
|
|||
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
||||
}
|
||||
fmt.Println("event is", event)
|
||||
line = "John Doe \"John Doe\""
|
||||
|
||||
line = "John"
|
||||
fmt.Println("parsing:", line)
|
||||
event, err = csvParser.Parse(line)
|
||||
if err != nil {
|
||||
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
||||
}
|
||||
fmt.Println("event is", event)
|
||||
|
||||
line = "John Doe"
|
||||
fmt.Println("parsing:", line)
|
||||
event, err = csvParser.Parse(line)
|
||||
|
@ -29,6 +31,23 @@ func TestCorrectLines(t *testing.T) {
|
|||
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
||||
}
|
||||
fmt.Println("event is", event)
|
||||
|
||||
line = "John \"John Doe\" Doe"
|
||||
fmt.Println("parsing:", line)
|
||||
event, err = csvParser.Parse(line)
|
||||
if err != nil {
|
||||
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
||||
}
|
||||
fmt.Println("event is", event)
|
||||
|
||||
line = "John Doe \"John Doe\""
|
||||
fmt.Println("parsing:", line)
|
||||
event, err = csvParser.Parse(line)
|
||||
if err != nil {
|
||||
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
||||
}
|
||||
fmt.Println("event is", event)
|
||||
|
||||
line = "John Doe I don't know him"
|
||||
fmt.Println("parsing:", line)
|
||||
event, err = csvParser.Parse(line)
|
||||
|
|
Loading…
Reference in New Issue