re-enable newpipe for playlist data fetching

This commit is contained in:
deniscerri 2025-08-24 11:28:48 +02:00
parent 5416416d6a
commit 98930837af
No known key found for this signature in database
GPG key ID: 95C43D517D830350

View file

@ -189,43 +189,42 @@ class ResultRepository(private val resultDao: ResultDao, private val commandTemp
} }
private suspend fun getYoutubePlaylist(inputQuery: String, resetResults: Boolean, addToResults: Boolean) : List<ResultItem>{ private suspend fun getYoutubePlaylist(inputQuery: String, resetResults: Boolean, addToResults: Boolean) : List<ResultItem>{
// val id = inputQuery.split("list=".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[1].split("&").first() val id = inputQuery.split("list=".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[1].split("&").first()
// val playlistURL = "https://youtube.com/playlist?list=${id}" val playlistURL = "https://youtube.com/playlist?list=${id}"
// if (resetResults) deleteAll() if (resetResults) deleteAll()
// val items = mutableListOf<ResultItem>() val items = mutableListOf<ResultItem>()
// val ytExtractorResult = if (isUsingNewPipeExtractorDataFetching()){ val ytExtractorResult = if (isUsingNewPipeExtractorDataFetching()){
// newPipeUtil.getPlaylistData(playlistURL) { newPipeUtil.getPlaylistData(playlistURL) {
// if (addToResults){ if (addToResults){
// runBlocking { runBlocking {
// val ids = resultDao.insertMultiple(it) val ids = resultDao.insertMultiple(it)
// ids.forEachIndexed { index, id -> ids.forEachIndexed { index, id ->
// it[index].id = id it[index].id = id
// } }
// } }
// } }
// items.addAll(it) items.addAll(it)
// }
// }else {
// Result.failure(Throwable())
// }
//
// val response = if (ytExtractorResult.isSuccess){
// ytExtractorResult.getOrElse { items }
// }else{
//
// res
// }
val res = ytdlpUtil.getFromYTDL(inputQuery)
if (addToResults) {
val ids = resultDao.insertMultiple(res)
ids.forEachIndexed { index, id ->
res[index].id = id
} }
}else {
Result.failure(Throwable())
} }
itemCount.value = res.size val result = if (ytExtractorResult.isSuccess){
return res ytExtractorResult.getOrElse { items }
}else{
val res = ytdlpUtil.getFromYTDL(inputQuery)
if (addToResults) {
val ids = resultDao.insertMultiple(res)
ids.forEachIndexed { index, id ->
res[index].id = id
}
}
res
}
itemCount.value = result.size
return result
} }
private suspend fun getYoutubeChannel(url: String, resetResults: Boolean, addToResults: Boolean) : List<ResultItem>{ private suspend fun getYoutubeChannel(url: String, resetResults: Boolean, addToResults: Boolean) : List<ResultItem>{