]> njoseph.me Git - nimcoon.git/blobdiff - src/peertube.nim
Get rid of Peerflix. Only use Webtorrent.
[nimcoon.git] / src / peertube.nim
index 946736f163d8110e66b7cc41faed9975ce1a2cf1..16b6d238753cc74cfb2f6ecaca2e5301e3b71fcb 100644 (file)
@@ -7,7 +7,7 @@ import
 
 let PEERTUBE_REGEX = re"w\/[0-9a-zA-z]{22}"
 
-proc getPeerTubeMagnetLink*(url: string): string =
+proc getPeerTubeMagnetLink*(url: string, musicOnly: bool): string =
   ## Gets the magnet link of the best possible resolution from PeerTube
   let uuid = url.substr(find(url, PEERTUBE_REGEX) + "w/".len)
   let domainName = url.substr(8, find(url, '/', start=8) - 1)
@@ -15,4 +15,10 @@ proc getPeerTubeMagnetLink*(url: string): string =
   let client = newHttpClient()
   let response = get(client, apiURL)
   let jsonNode = parseJson($response.body)
-  jsonNode["files"][0]["magnetUri"].getStr()
+  var files = jsonNode["files"]
+  if len(jsonNode["files"]) == 0:
+    files = jsonNode["streamingPlaylists"][0]["files"]
+  if musicOnly:
+    files[len(files)-1]["magnetUri"].getStr()
+  else:
+    files[0]["magnetUri"].getStr()