From 536fae6a46ffdb6b76a6034fdbab9ffe14e4b81f Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Thu, 22 May 2025 11:51:23 +0200 Subject: [PATCH] ScrobblerLog.ReadHeader now accepts io.Reader --- internal/backends/scrobblerlog/scrobblerlog.go | 4 +--- pkg/scrobblerlog/parser.go | 8 ++++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/internal/backends/scrobblerlog/scrobblerlog.go b/internal/backends/scrobblerlog/scrobblerlog.go index db4e349..6454b7b 100644 --- a/internal/backends/scrobblerlog/scrobblerlog.go +++ b/internal/backends/scrobblerlog/scrobblerlog.go @@ -17,7 +17,6 @@ Scotty. If not, see . package scrobblerlog import ( - "bufio" "fmt" "os" "sort" @@ -105,8 +104,7 @@ func (b *ScrobblerLogBackend) StartImport() error { b.append = false } else { // Verify existing file is a scrobbler log - reader := bufio.NewReader(file) - if err = b.log.ReadHeader(reader); err != nil { + if err = b.log.ReadHeader(file); err != nil { file.Close() return err } diff --git a/pkg/scrobblerlog/parser.go b/pkg/scrobblerlog/parser.go index 6b9d1ba..8bad56d 100644 --- a/pkg/scrobblerlog/parser.go +++ b/pkg/scrobblerlog/parser.go @@ -94,7 +94,7 @@ func (l *ScrobblerLog) Parse(data io.Reader, ignoreSkipped bool) error { l.Records = make([]Record, 0) reader := bufio.NewReader(data) - err := l.ReadHeader(reader) + err := l.readHeader(reader) if err != nil { return err } @@ -173,7 +173,11 @@ func (l *ScrobblerLog) Append(data io.Writer, records []Record) (lastTimestamp t // Parses just the header of a scrobbler log file from the given reader. // // This function sets [ScrobblerLog.TZ] and [ScrobblerLog.Client]. -func (l *ScrobblerLog) ReadHeader(reader *bufio.Reader) error { +func (l *ScrobblerLog) ReadHeader(reader io.Reader) error { + return l.readHeader(bufio.NewReader(reader)) +} + +func (l *ScrobblerLog) readHeader(reader *bufio.Reader) error { // Skip header for i := 0; i < 3; i++ { line, _, err := reader.ReadLine()