summaryrefslogtreecommitdiff
path: root/pkg/media
diff options
context:
space:
mode:
authordavy wybiral <davy.wybiral@gmail.com>2019-08-08 16:13:55 -0500
committerGitHub <noreply@github.com>2019-08-08 16:13:55 -0500
commit13ffd7117180d1a3093ff291481caeb07a8b71de (patch)
tree0e6a355b31a5681a273686dba8c54545180bf176 /pkg/media
parentb6bd42c8609f935a8f97d93296b40a83bd3c00c2 (diff)
fix windows path issue (#23)v1.1.0
Diffstat (limited to 'pkg/media')
-rw-r--r--pkg/media/library.go16
-rw-r--r--pkg/media/video.go1
2 files changed, 10 insertions, 7 deletions
diff --git a/pkg/media/library.go b/pkg/media/library.go
index e22f8ef..87fb223 100644
--- a/pkg/media/library.go
+++ b/pkg/media/library.go
@@ -5,6 +5,7 @@ import (
"io/ioutil"
"log"
"path"
+ "path/filepath"
"sort"
"strings"
"sync"
@@ -60,16 +61,16 @@ func (lib *Library) Import(p *Path) error {
}
// Add adds a single video from a given file path.
-func (lib *Library) Add(filepath string) error {
+func (lib *Library) Add(fp string) error {
lib.mu.Lock()
defer lib.mu.Unlock()
- d := path.Dir(filepath)
+ fp = filepath.ToSlash(fp)
+ d := path.Dir(fp)
p, ok := lib.Paths[d]
if !ok {
- log.Println(d)
return errors.New("media: path not found")
}
- n := path.Base(filepath)
+ n := path.Base(fp)
v, err := ParseVideo(p, n)
if err != nil {
return err
@@ -80,15 +81,16 @@ func (lib *Library) Add(filepath string) error {
}
// Remove removes a single video from a given file path.
-func (lib *Library) Remove(filepath string) {
+func (lib *Library) Remove(fp string) {
lib.mu.Lock()
defer lib.mu.Unlock()
- d := path.Dir(filepath)
+ fp = filepath.ToSlash(fp)
+ d := path.Dir(fp)
p, ok := lib.Paths[d]
if !ok {
return
}
- n := path.Base(filepath)
+ n := path.Base(fp)
// ID is name without extension
idx := strings.LastIndex(n, ".")
if idx == -1 {
diff --git a/pkg/media/video.go b/pkg/media/video.go
index 24f89b7..9340e86 100644
--- a/pkg/media/video.go
+++ b/pkg/media/video.go
@@ -30,6 +30,7 @@ func ParseVideo(p *Path, name string) (*Video, error) {
if err != nil {
return nil, err
}
+ defer f.Close()
info, err := f.Stat()
if err != nil {
return nil, err