diff options
Diffstat (limited to 'src/backend/tau/api/playlist.clj')
-rw-r--r-- | src/backend/tau/api/playlist.clj | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/backend/tau/api/playlist.clj b/src/backend/tau/api/playlist.clj deleted file mode 100644 index 8f2b22c..0000000 --- a/src/backend/tau/api/playlist.clj +++ /dev/null @@ -1,39 +0,0 @@ -(ns tau.api.playlist - (:require - [clojure.java.data :as j] - [ring.util.codec :refer [url-decode]] - [tau.api.result :as result]) - (:import - org.schabi.newpipe.extractor.playlist.PlaylistInfo - org.schabi.newpipe.extractor.Page - org.schabi.newpipe.extractor.NewPipe)) - -(defrecord Playlist - [id name playlist-type thumbnail-url uploader-name uploader-url - uploader-avatar banner-url next-page stream-count related-streams]) - -(defrecord PlaylistPage - [next-page related-streams]) - -(defn get-info - ([url] - (let [service (NewPipe/getServiceByUrl (url-decode url)) - info (PlaylistInfo/getInfo service (url-decode url))] - (map->Playlist - {:id (.getId info) - :name (.getName info) - :playlist-type (j/from-java (.getPlaylistType info)) - :thumbnail-url (.getThumbnailUrl info) - :banner-url (.getBannerUrl info) - :uploader-name (.getUploaderName info) - :uploader-url (.getUploaderUrl info) - :uploader-avatar (.getUploaderAvatarUrl info) - :stream-count (.getStreamCount info) - :next-page (j/from-java (.getNextPage info)) - :related-streams (result/get-results (.getRelatedItems info))}))) - ([url page-url] - (let [service (NewPipe/getServiceByUrl (url-decode url)) - info (PlaylistInfo/getMoreItems service url (Page. (url-decode page-url)))] - (map->PlaylistPage - {:next-page (j/from-java (.getNextPage info)) - :related-streams (result/get-results (.getItems info))})))) |