mirror of
https://github.com/amtoaer/bili-sync.git
synced 2026-09-05 15:39:07 +08:00
fix: 加入遇到风控请求失败的兜底
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
use log::error;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use crate::Result;
|
use crate::Result;
|
||||||
@@ -156,7 +157,15 @@ impl PageAnalyzer {
|
|||||||
let audios_data = self.info["dash"]["audio"].take();
|
let audios_data = self.info["dash"]["audio"].take();
|
||||||
let flac_data = self.info["dash"]["flac"].take();
|
let flac_data = self.info["dash"]["flac"].take();
|
||||||
let dolby_data = self.info["dash"]["dolby"].take();
|
let dolby_data = self.info["dash"]["dolby"].take();
|
||||||
for video_data in videos_data.as_array().unwrap().iter() {
|
for video_data in videos_data
|
||||||
|
.as_array()
|
||||||
|
.ok_or_else(|| -> Result<serde_json::Value> {
|
||||||
|
error!("video data is not an array: {:?}", self.info);
|
||||||
|
Err("invalid video data".into())
|
||||||
|
})
|
||||||
|
.unwrap_or(&Vec::new())
|
||||||
|
.iter()
|
||||||
|
{
|
||||||
let video_stream_url = video_data["baseUrl"].as_str().unwrap().to_string();
|
let video_stream_url = video_data["baseUrl"].as_str().unwrap().to_string();
|
||||||
let video_stream_quality = VideoQuality::from_repr(video_data["id"].as_u64().unwrap() as usize)
|
let video_stream_quality = VideoQuality::from_repr(video_data["id"].as_u64().unwrap() as usize)
|
||||||
.ok_or("invalid video stream quality")?;
|
.ok_or("invalid video stream quality")?;
|
||||||
|
|||||||
Reference in New Issue
Block a user