mirror of
https://github.com/amtoaer/bili-sync.git
synced 2026-09-07 08:27:21 +08:00
chore: 跑一遍 auto-correct (#468)
This commit is contained in:
@@ -81,7 +81,7 @@ mod tests {
|
|||||||
"test_truncate",
|
"test_truncate",
|
||||||
&json!({"title": "你说得对,但是 Rust 是由 Mozilla 自主研发的一款全新的编译期格斗游戏。\
|
&json!({"title": "你说得对,但是 Rust 是由 Mozilla 自主研发的一款全新的编译期格斗游戏。\
|
||||||
编译将发生在一个被称作「Cargo」的构建系统中。在这里,被引用的指针将被授予「生命周期」之力,导引对象安全。\
|
编译将发生在一个被称作「Cargo」的构建系统中。在这里,被引用的指针将被授予「生命周期」之力,导引对象安全。\
|
||||||
你将扮演一位名为「Rustacean」的神秘角色, 在与「Rustc」的搏斗中邂逅各种骨骼惊奇的傲娇报错。\
|
你将扮演一位名为「Rustacean」的神秘角色,在与「Rustc」的搏斗中邂逅各种骨骼惊奇的傲娇报错。\
|
||||||
征服她们、通过编译同时,逐步发掘「C++」程序崩溃的真相。"})
|
征服她们、通过编译同时,逐步发掘「C++」程序崩溃的真相。"})
|
||||||
)
|
)
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ pub async fn http_server(
|
|||||||
let listener = tokio::net::TcpListener::bind(&config.bind_address)
|
let listener = tokio::net::TcpListener::bind(&config.bind_address)
|
||||||
.await
|
.await
|
||||||
.context("bind address failed")?;
|
.context("bind address failed")?;
|
||||||
info!("开始运行管理页: http://{}", config.bind_address);
|
info!("开始运行管理页:http://{}", config.bind_address);
|
||||||
Ok(axum::serve(listener, ServiceExt::<Request>::into_make_service(app)).await?)
|
Ok(axum::serve(listener, ServiceExt::<Request>::into_make_service(app)).await?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -143,14 +143,14 @@ mod tests {
|
|||||||
let test_cases = vec![
|
let test_cases = vec![
|
||||||
(
|
(
|
||||||
Rule(vec![vec![RuleTarget::Title(Condition::Contains("唐氏".to_string()))]]),
|
Rule(vec![vec![RuleTarget::Title(Condition::Contains("唐氏".to_string()))]]),
|
||||||
"「(标题包含“唐氏”)」",
|
"「(标题包含“唐氏”)」",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
Rule(vec![vec![
|
Rule(vec![vec![
|
||||||
RuleTarget::Title(Condition::Prefix("街霸".to_string())),
|
RuleTarget::Title(Condition::Prefix("街霸".to_string())),
|
||||||
RuleTarget::Tags(Condition::Contains("套路".to_string())),
|
RuleTarget::Tags(Condition::Contains("套路".to_string())),
|
||||||
]]),
|
]]),
|
||||||
"「(标题以“街霸”开头)且(标签包含“套路”)」",
|
"「(标题以“街霸”开头)且(标签包含“套路”)」",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
Rule(vec![
|
Rule(vec![
|
||||||
@@ -168,14 +168,14 @@ mod tests {
|
|||||||
)),
|
)),
|
||||||
],
|
],
|
||||||
]),
|
]),
|
||||||
"「(标题包含“Rust”)且(视频分页数量大于“5”)」或「(标签以“入门”结尾)且(发布时间大于“2023-01-01 00:00:00”)」",
|
"「(标题包含“Rust”)且(视频分页数量大于“5”)」或「(标签以“入门”结尾)且(发布时间大于“2023-01-01 00:00:00”)」",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
Rule(vec![vec![
|
Rule(vec![vec![
|
||||||
RuleTarget::Not(Box::new(RuleTarget::Title(Condition::Contains("广告".to_string())))),
|
RuleTarget::Not(Box::new(RuleTarget::Title(Condition::Contains("广告".to_string())))),
|
||||||
RuleTarget::PageCount(Condition::LessThan(10)),
|
RuleTarget::PageCount(Condition::LessThan(10)),
|
||||||
]]),
|
]]),
|
||||||
"「(标题不包含“广告”)且(视频分页数量小于“10”)」",
|
"「(标题不包含“广告”)且(视频分页数量小于“10”)」",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
Rule(vec![vec![
|
Rule(vec![vec![
|
||||||
@@ -189,12 +189,14 @@ mod tests {
|
|||||||
.and_hms_opt(23, 59, 59)
|
.and_hms_opt(23, 59, 59)
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
)),
|
)),
|
||||||
|
// autocorrect-disable
|
||||||
RuleTarget::Tags(Condition::MatchesRegex(
|
RuleTarget::Tags(Condition::MatchesRegex(
|
||||||
"技术|教程".to_string(),
|
"技术|教程".to_string(),
|
||||||
regex::Regex::new("技术|教程").unwrap(),
|
regex::Regex::new("技术|教程").unwrap(),
|
||||||
)),
|
)),
|
||||||
]]),
|
]]),
|
||||||
"「(收藏时间在“2023-06-01 00:00:00”和“2023-12-31 23:59:59”之间)且(标签匹配“技术|教程”)」",
|
"「(收藏时间在“2023-06-01 00:00:00”和“2023-12-31 23:59:59”之间)且(标签匹配“技术|教程”)」",
|
||||||
|
// autocorrect-enable
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -288,12 +288,12 @@ pub async fn download_video_pages(
|
|||||||
ExecutionStatus::Succeeded => info!("处理视频「{}」{}成功", &video_model.name, task_name),
|
ExecutionStatus::Succeeded => info!("处理视频「{}」{}成功", &video_model.name, task_name),
|
||||||
ExecutionStatus::Ignored(e) => {
|
ExecutionStatus::Ignored(e) => {
|
||||||
error!(
|
error!(
|
||||||
"处理视频「{}」{}出现常见错误,已忽略: {:#}",
|
"处理视频「{}」{}出现常见错误,已忽略:{:#}",
|
||||||
&video_model.name, task_name, e
|
&video_model.name, task_name, e
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
ExecutionStatus::Failed(e) | ExecutionStatus::FixedFailed(_, e) => {
|
ExecutionStatus::Failed(e) | ExecutionStatus::FixedFailed(_, e) => {
|
||||||
error!("处理视频「{}」{}失败: {:#}", &video_model.name, task_name, e)
|
error!("处理视频「{}」{}失败:{:#}", &video_model.name, task_name, e)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if let ExecutionStatus::Failed(e) = results.into_iter().nth(4).context("page download result not found")?
|
if let ExecutionStatus::Failed(e) = results.into_iter().nth(4).context("page download result not found")?
|
||||||
@@ -478,12 +478,12 @@ pub async fn download_page(
|
|||||||
),
|
),
|
||||||
ExecutionStatus::Ignored(e) => {
|
ExecutionStatus::Ignored(e) => {
|
||||||
error!(
|
error!(
|
||||||
"处理视频「{}」第 {} 页{}出现常见错误,已忽略: {:#}",
|
"处理视频「{}」第 {} 页{}出现常见错误,已忽略:{:#}",
|
||||||
&video_model.name, page_model.pid, task_name, e
|
&video_model.name, page_model.pid, task_name, e
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
ExecutionStatus::Failed(e) | ExecutionStatus::FixedFailed(_, e) => error!(
|
ExecutionStatus::Failed(e) | ExecutionStatus::FixedFailed(_, e) => error!(
|
||||||
"处理视频「{}」第 {} 页{}失败: {:#}",
|
"处理视频「{}」第 {} 页{}失败:{:#}",
|
||||||
&video_model.name, page_model.pid, task_name, e
|
&video_model.name, page_model.pid, task_name, e
|
||||||
),
|
),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ impl Display for Rule {
|
|||||||
.0
|
.0
|
||||||
.iter()
|
.iter()
|
||||||
.map(|group| {
|
.map(|group| {
|
||||||
let conditions: Vec<String> = group.iter().map(|target| format!("({})", target)).collect();
|
let conditions: Vec<String> = group.iter().map(|target| format!("({})", target)).collect();
|
||||||
format!("「{}」", conditions.join("且"))
|
format!("「{}」", conditions.join("且"))
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|||||||
+2
-2
@@ -122,7 +122,7 @@ export class WebSocketManager {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to parse WebSocket message:', error, event.data);
|
console.error('Failed to parse WebSocket message:', error, event.data);
|
||||||
toast.error('解析 WebSocket 消息失败', {
|
toast.error('解析 WebSocket 消息失败', {
|
||||||
description: `消息内容: ${event.data}\n错误信息: ${error instanceof Error ? error.message : String(error)}`
|
description: `消息内容:${event.data}\n错误信息:${error instanceof Error ? error.message : String(error)}`
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -137,7 +137,7 @@ export class WebSocketManager {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to send message:', error);
|
console.error('Failed to send message:', error);
|
||||||
toast.error('发送 WebSocket 消息失败', {
|
toast.error('发送 WebSocket 消息失败', {
|
||||||
description: `消息内容: ${JSON.stringify(message)}\n错误信息: ${error instanceof Error ? error.message : String(error)}`
|
description: `消息内容:${JSON.stringify(message)}\n错误信息:${error instanceof Error ? error.message : String(error)}`
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
const response = await api.getDashboard();
|
const response = await api.getDashboard();
|
||||||
dashboardData = response.data;
|
dashboardData = response.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载仪表盘数据失败:', error);
|
console.error('加载仪表盘数据失败:', error);
|
||||||
toast.error('加载仪表盘数据失败', {
|
toast.error('加载仪表盘数据失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
collections = response.data.collections;
|
collections = response.data.collections;
|
||||||
totalCount = response.data.total;
|
totalCount = response.data.total;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载合集失败:', error);
|
console.error('加载合集失败:', error);
|
||||||
toast.error('加载合集失败', {
|
toast.error('加载合集失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
const response = await api.getCreatedFavorites();
|
const response = await api.getCreatedFavorites();
|
||||||
favorites = response.data.favorites;
|
favorites = response.data.favorites;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载收藏夹失败:', error);
|
console.error('加载收藏夹失败:', error);
|
||||||
toast.error('加载收藏夹失败', {
|
toast.error('加载收藏夹失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
uppers = response.data.uppers;
|
uppers = response.data.uppers;
|
||||||
totalCount = response.data.total;
|
totalCount = response.data.total;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载UP主失败:', error);
|
console.error('加载 UP 主失败:', error);
|
||||||
toast.error('加载 UP 主失败', {
|
toast.error('加载 UP 主失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
const result = await api.getVideo(videoId);
|
const result = await api.getVideo(videoId);
|
||||||
videoData = result.data;
|
videoData = result.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载视频详情失败:', error);
|
console.error('加载视频详情失败:', error);
|
||||||
toast.error('加载视频详情失败', {
|
toast.error('加载视频详情失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
toast.error('状态更新失败');
|
toast.error('状态更新失败');
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('状态更新失败:', error);
|
console.error('状态更新失败:', error);
|
||||||
toast.error('状态更新失败', {
|
toast.error('状态更新失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
const result = await api.getVideos(params);
|
const result = await api.getVideos(params);
|
||||||
videosData = result.data;
|
videosData = result.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载视频失败:', error);
|
console.error('加载视频失败:', error);
|
||||||
toast.error('加载视频失败', {
|
toast.error('加载视频失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('重置失败:', error);
|
console.error('重置失败:', error);
|
||||||
toast.error('重置失败', {
|
toast.error('重置失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
toast.info('没有需要重置的视频');
|
toast.info('没有需要重置的视频');
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('重置失败:', error);
|
console.error('重置失败:', error);
|
||||||
toast.error('重置失败', {
|
toast.error('重置失败', {
|
||||||
description: (error as ApiError).message
|
description: (error as ApiError).message
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user