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>{
|
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>{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue