diff options
author | Martin Polden <mpolden@mpolden.no> | 2018-02-18 17:03:24 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2018-02-18 17:20:13 +0100 |
commit | 53fd5244efd538a4c10ceda1245b76fe78e53ffa (patch) | |
tree | 2ff1c044d4a9a2a4827c77ac06413443f2e124f8 | |
parent | e253d6173d410c26163e90ef1f21b31de4e88d6c (diff) |
Simplify line parsing
-rw-r--r-- | queue/queue.go | 11 | ||||
-rw-r--r-- | queue/queue_test.go | 12 |
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) } } } |