aboutsummaryrefslogtreecommitdiff
path: root/upload.go
diff options
context:
space:
mode:
Diffstat (limited to 'upload.go')
-rw-r--r--upload.go19
1 files changed, 15 insertions, 4 deletions
diff --git a/upload.go b/upload.go
index 91344fb..b515d48 100644
--- a/upload.go
+++ b/upload.go
@@ -55,17 +55,28 @@ func (b *UploadBackend) upload(w http.ResponseWriter, r *http.Request) {
f.Close()
- var song Song
+ var title string
+ var artist string
+
dataReader := bytes.NewReader(data)
m, err := tag.ReadFrom(dataReader)
+
if err != nil {
llog.Warning("error reading tags from %s: %v", fileName, err)
- song = NewSong(fileName, "Unknown", "upload", fileName)
} else {
- song = NewSong(m.Title(), m.Artist(), "upload", fileName)
+ title = m.Title()
+ artist = m.Artist()
+ }
+
+ if title == "" {
+ title = fileName
+ }
+
+ if artist == "" {
+ artist = "Unknown"
}
- wrms.AddSong(song)
+ wrms.AddSong(NewSong(title, artist, "upload", fileName))
fmt.Fprintf(w, "Added uploaded song %s", string(fileName))
}