mirror of
https://git.sr.ht/~phw/scotty
synced 2025-06-01 19:38:34 +02:00
ScrobblerLog.ReadHeader now accepts io.Reader
This commit is contained in:
parent
97600d8190
commit
536fae6a46
2 changed files with 7 additions and 5 deletions
|
@ -17,7 +17,6 @@ Scotty. If not, see <https://www.gnu.org/licenses/>.
|
||||||
package scrobblerlog
|
package scrobblerlog
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"sort"
|
"sort"
|
||||||
|
@ -105,8 +104,7 @@ func (b *ScrobblerLogBackend) StartImport() error {
|
||||||
b.append = false
|
b.append = false
|
||||||
} else {
|
} else {
|
||||||
// Verify existing file is a scrobbler log
|
// Verify existing file is a scrobbler log
|
||||||
reader := bufio.NewReader(file)
|
if err = b.log.ReadHeader(file); err != nil {
|
||||||
if err = b.log.ReadHeader(reader); err != nil {
|
|
||||||
file.Close()
|
file.Close()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ func (l *ScrobblerLog) Parse(data io.Reader, ignoreSkipped bool) error {
|
||||||
l.Records = make([]Record, 0)
|
l.Records = make([]Record, 0)
|
||||||
|
|
||||||
reader := bufio.NewReader(data)
|
reader := bufio.NewReader(data)
|
||||||
err := l.ReadHeader(reader)
|
err := l.readHeader(reader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
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.
|
// Parses just the header of a scrobbler log file from the given reader.
|
||||||
//
|
//
|
||||||
// This function sets [ScrobblerLog.TZ] and [ScrobblerLog.Client].
|
// 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
|
// Skip header
|
||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
line, _, err := reader.ReadLine()
|
line, _, err := reader.ReadLine()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue