aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-02-18 17:03:24 +0100
committerMartin Polden <mpolden@mpolden.no>2018-02-18 17:20:13 +0100
commit53fd5244efd538a4c10ceda1245b76fe78e53ffa (patch)
tree2ff1c044d4a9a2a4827c77ac06413443f2e124f8
parente253d6173d410c26163e90ef1f21b31de4e88d6c (diff)
Simplify line parsing
-rw-r--r--queue/queue.go11
-rw-r--r--queue/queue_test.go12
2 files changed, 11 insertions, 12 deletions
diff --git a/queue/queue.go b/queue/queue.go
index 3b214bd..1c48b35 100644
--- a/queue/queue.go
+++ b/queue/queue.go
@@ -44,14 +44,11 @@ func Read(sites []Site, r io.Reader) ([]Queue, error) {
scanner := bufio.NewScanner(r)
queues := make(map[string]*Queue)
for scanner.Scan() {
- line := strings.TrimSpace(scanner.Text())
- parts := strings.SplitN(line, " ", 2)
- if len(parts) != 2 {
+ fields := strings.Fields(scanner.Text())
+ if len(fields) < 2 {
continue
}
- name := strings.TrimSpace(parts[0])
- path := strings.TrimSpace(parts[1])
- site, err := lookupSite(name, sites)
+ site, err := lookupSite(fields[0], sites)
if err != nil {
return nil, err
}
@@ -60,7 +57,7 @@ func Read(sites []Site, r io.Reader) ([]Queue, error) {
q = &Queue{Site: site}
queues[site.Name] = q
}
- item, err := newItem(path, time.Time{}, q.itemParser)
+ item, err := newItem(fields[1], time.Time{}, q.itemParser)
if err != nil {
item.reject(err.Error())
} else {
diff --git a/queue/queue_test.go b/queue/queue_test.go
index dc2eea0..b56b981 100644
--- a/queue/queue_test.go
+++ b/queue/queue_test.go
@@ -348,13 +348,15 @@ func TestReadQueue(t *testing.T) {
lines := `
t1 /tv/The.Wire.S01E01
-t2 /tv/The.Wire.S01E04
+t2 /tv/The.Wire.S01E04 ignored
+
+ignored
t1 /tv/The.Wire.S01E02
t1 /tv/The.Wire.S01E03
-t2 /tv/The.Wire.S01E05
+t2 /tv/The.Wire.S01E05
`
s1, s2 := newTestSite(), newTestSite()
s1.Name = "t1"
@@ -378,11 +380,11 @@ t2 /tv/The.Wire.S01E05
}
}
for i := range q.Items {
- if want := "The.Wire"; q.Items[i].Media.Name != want {
- t.Errorf("Expected Items[%d].Media.Name=%q, want %q", i, q.Items[0].Media.Name, want)
+ if want, got := "The.Wire", q.Items[i].Media.Name; got != want {
+ t.Errorf("got Items[%d].Media.Name=%q, want %q", i, got, want)
}
if !q.Items[i].Transfer {
- t.Errorf("Expected Items[%d].Transfer=true", i)
+ t.Errorf("got Items[%d].Transfer=true, want %t", i, false)
}
}
}