From a7a5eee66ff685e4094540e84c9c4994d30811ab Mon Sep 17 00:00:00 2001 From: davy Date: Sat, 29 Jun 2019 17:02:05 -0500 Subject: docs --- pkg/media/library.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pkg/media/library.go') diff --git a/pkg/media/library.go b/pkg/media/library.go index 337907d..c0d79eb 100644 --- a/pkg/media/library.go +++ b/pkg/media/library.go @@ -9,11 +9,13 @@ import ( "sync" ) +// Library manages importing and retrieving video data. type Library struct { mu sync.RWMutex Videos map[string]*Video } +// NewLibrary returns new instance of Library. func NewLibrary() *Library { lib := &Library{ Videos: make(map[string]*Video), @@ -21,6 +23,7 @@ func NewLibrary() *Library { return lib } +// Import adds all valid videos from a given path. func (lib *Library) Import(path string) error { files, err := ioutil.ReadDir(path) if err != nil { @@ -36,6 +39,7 @@ func (lib *Library) Import(path string) error { return nil } +// Add adds a single video from a given file path. func (lib *Library) Add(path string) error { v, err := ParseVideo(path) if err != nil { @@ -48,6 +52,7 @@ func (lib *Library) Add(path string) error { return nil } +// Remove removes a single video from a given file path. func (lib *Library) Remove(path string) { name := filepath.Base(path) // ID is name without extension @@ -65,6 +70,7 @@ func (lib *Library) Remove(path string) { } } +// Playlist returns a sorted Playlist of all videos. func (lib *Library) Playlist() Playlist { lib.mu.RLock() defer lib.mu.RUnlock() -- cgit v1.2.3