summaryrefslogtreecommitdiff
path: root/media/playlist.go
diff options
context:
space:
mode:
authorJames Mills <prologic@shortcircuit.net.au>2020-03-21 09:55:06 +1000
committerJames Mills <prologic@shortcircuit.net.au>2020-03-21 09:55:06 +1000
commit4dae45a68ff1ff32a251a5835b2a2723ae125d1c (patch)
treeb3abe641f39f50ac444aee2bb617d7b4ab44187d /media/playlist.go
parent76fa613b7eaf1c8626d2a51901c623af7bf1a665 (diff)
Restructured source code layout, Added rice support for templates and static assets
Diffstat (limited to 'media/playlist.go')
-rw-r--r--media/playlist.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/media/playlist.go b/media/playlist.go
new file mode 100644
index 0000000..cf8edcf
--- /dev/null
+++ b/media/playlist.go
@@ -0,0 +1,19 @@
+package media
+
+// Playlist holds an array of videos capable of sorting by Timestamp.
+type Playlist []*Video
+
+// Len returns length of array (for sorting).
+func (p Playlist) Len() int {
+ return len(p)
+}
+
+// Swap swaps two values in array by index (for sorting).
+func (p Playlist) Swap(i, j int) {
+ p[i], p[j] = p[j], p[i]
+}
+
+// Less returns true if p[i] Timestamp is after p[j] (for sorting).
+func (p Playlist) Less(i, j int) bool {
+ return p[i].Timestamp.After(p[j].Timestamp)
+}