re-enable newpipe for playlist data fetching
This commit is contained in:
parent
5416416d6a
commit
98930837af
1 changed files with 33 additions and 34 deletions
|
|
@ -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>{
|
||||
// val id = inputQuery.split("list=".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[1].split("&").first()
|
||||
// val playlistURL = "https://youtube.com/playlist?list=${id}"
|
||||
// if (resetResults) deleteAll()
|
||||
// val items = mutableListOf<ResultItem>()
|
||||
// val ytExtractorResult = if (isUsingNewPipeExtractorDataFetching()){
|
||||
// newPipeUtil.getPlaylistData(playlistURL) {
|
||||
// if (addToResults){
|
||||
// runBlocking {
|
||||
// val ids = resultDao.insertMultiple(it)
|
||||
// ids.forEachIndexed { index, id ->
|
||||
// it[index].id = id
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// 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
|
||||
val id = inputQuery.split("list=".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[1].split("&").first()
|
||||
val playlistURL = "https://youtube.com/playlist?list=${id}"
|
||||
if (resetResults) deleteAll()
|
||||
val items = mutableListOf<ResultItem>()
|
||||
val ytExtractorResult = if (isUsingNewPipeExtractorDataFetching()){
|
||||
newPipeUtil.getPlaylistData(playlistURL) {
|
||||
if (addToResults){
|
||||
runBlocking {
|
||||
val ids = resultDao.insertMultiple(it)
|
||||
ids.forEachIndexed { index, id ->
|
||||
it[index].id = id
|
||||
}
|
||||
}
|
||||
}
|
||||
items.addAll(it)
|
||||
}
|
||||
}else {
|
||||
Result.failure(Throwable())
|
||||
}
|
||||
|
||||
itemCount.value = res.size
|
||||
return res
|
||||
val result = if (ytExtractorResult.isSuccess){
|
||||
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>{
|
||||
|
|
|
|||
Loading…
Reference in a new issue