diff options
| author | James Mills <prologic@shortcircuit.net.au> | 2020-03-21 09:55:06 +1000 |
|---|---|---|
| committer | James Mills <prologic@shortcircuit.net.au> | 2020-03-21 09:55:06 +1000 |
| commit | 4dae45a68ff1ff32a251a5835b2a2723ae125d1c (patch) | |
| tree | b3abe641f39f50ac444aee2bb617d7b4ab44187d /pkg/media/video.go | |
| parent | 76fa613b7eaf1c8626d2a51901c623af7bf1a665 (diff) | |
Restructured source code layout, Added rice support for templates and static assets
Diffstat (limited to 'pkg/media/video.go')
| -rw-r--r-- | pkg/media/video.go | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/pkg/media/video.go b/pkg/media/video.go deleted file mode 100644 index 9340e86..0000000 --- a/pkg/media/video.go +++ /dev/null @@ -1,77 +0,0 @@ -package media - -import ( - "os" - "path" - "strings" - "time" - - "github.com/dhowden/tag" -) - -// Video represents metadata for a single video. -type Video struct { - ID string - Title string - Album string - Description string - Thumb []byte - ThumbType string - Modified string - Size int64 - Path string - Timestamp time.Time -} - -// ParseVideo parses a video file's metadata and returns a Video. -func ParseVideo(p *Path, name string) (*Video, error) { - pth := path.Join(p.Path, name) - f, err := os.Open(pth) - if err != nil { - return nil, err - } - defer f.Close() - info, err := f.Stat() - if err != nil { - return nil, err - } - size := info.Size() - timestamp := info.ModTime() - modified := timestamp.Format("2006-01-02 03:04 PM") - // ID is name without extension - idx := strings.LastIndex(name, ".") - if idx == -1 { - idx = len(name) - } - id := name[:idx] - if len(p.Prefix) > 0 { - // if there's a prefix prepend it to the ID - id = path.Join(p.Prefix, name[:idx]) - } - m, err := tag.ReadFrom(f) - if err != nil { - return nil, err - } - title := m.Title() - // Default title is filename - if title == "" { - title = name - } - v := &Video{ - ID: id, - Title: title, - Album: m.Album(), - Description: m.Comment(), - Modified: modified, - Size: size, - Path: pth, - Timestamp: timestamp, - } - // Add thumbnail (if exists) - pic := m.Picture() - if pic != nil { - v.Thumb = pic.Data - v.ThumbType = pic.MIMEType - } - return v, nil -} |
