fix: can't load music playlists using local extraction

This commit is contained in:
Bnyro 2025-03-16 16:08:57 +01:00
parent 87352f94c6
commit 8db2d34227
No known key found for this signature in database
2 changed files with 8 additions and 2 deletions

View File

@ -1,13 +1,18 @@
package com.github.libretube.extensions
import com.github.libretube.ui.dialogs.ShareDialog.Companion.YOUTUBE_FRONTEND_URL
import com.github.libretube.ui.dialogs.ShareDialog.Companion.YOUTUBE_MUSIC_URL
import com.github.libretube.ui.dialogs.ShareDialog.Companion.YOUTUBE_SHORT_URL
/**
* format a Piped route to an ID
* format a full YouTube url or a path to a video/channel/playlist ID
*/
fun String.toID(): String {
return this
.replace(YOUTUBE_FRONTEND_URL, "")
// remove any youtube origins from urls
.removePrefix(YOUTUBE_FRONTEND_URL)
.removePrefix(YOUTUBE_MUSIC_URL)
.removePrefix(YOUTUBE_SHORT_URL)
.replace("/watch?v=", "") // videos
.replace("/channel/", "") // channels
.replace("/playlist?list=", "") // playlists

View File

@ -149,6 +149,7 @@ class ShareDialog : DialogFragment() {
companion object {
const val YOUTUBE_FRONTEND_URL = "https://www.youtube.com"
const val YOUTUBE_MUSIC_URL = "https://music.youtube.com"
const val YOUTUBE_SHORT_URL = "https://youtu.be"
const val PIPED_FRONTEND_URL = "https://piped.video"
}