nfo文件封面识别失败问题处理
This commit is contained in:
@@ -49,7 +49,16 @@ namespace dy.net.job
|
||||
authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}";
|
||||
}
|
||||
var folder = Path.Combine(cookie.SavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}");
|
||||
if (!Directory.Exists(folder)) Directory.CreateDirectory(folder);
|
||||
if (!Directory.Exists(folder))
|
||||
{
|
||||
Directory.CreateDirectory(folder);
|
||||
}
|
||||
else
|
||||
{
|
||||
//说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id
|
||||
|
||||
folder = Path.Combine(cookie.SavePath, authorFolder , $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}"+"_" + item.AwemeId);
|
||||
}
|
||||
return folder;
|
||||
|
||||
}
|
||||
|
||||
@@ -55,7 +55,16 @@ namespace dy.net.job
|
||||
authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}";
|
||||
}
|
||||
var folder = Path.Combine(cookie.FavSavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}");
|
||||
if (!Directory.Exists(folder)) Directory.CreateDirectory(folder);
|
||||
if (!Directory.Exists(folder))
|
||||
{
|
||||
Directory.CreateDirectory(folder);
|
||||
}
|
||||
else
|
||||
{
|
||||
//说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id
|
||||
|
||||
folder = Path.Combine(cookie.SavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}" + "_" + item.AwemeId);
|
||||
}
|
||||
return folder;
|
||||
}
|
||||
}
|
||||
|
||||
+11
-18
@@ -204,7 +204,16 @@ namespace dy.net.job
|
||||
{
|
||||
var subFolder = DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true);
|
||||
var folder = Path.Combine(cookie.SavePath, subFolder);
|
||||
if (!Directory.Exists(folder)) Directory.CreateDirectory(folder);
|
||||
if (!Directory.Exists(folder))
|
||||
{
|
||||
Directory.CreateDirectory(folder);
|
||||
}
|
||||
else
|
||||
{
|
||||
//说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id
|
||||
|
||||
folder = Path.Combine(cookie.SavePath, subFolder + "_" + item.AwemeId);
|
||||
}
|
||||
return folder;
|
||||
|
||||
}
|
||||
@@ -267,21 +276,6 @@ namespace dy.net.job
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取NFO文件中的图片(如海报)文件名
|
||||
/// </summary>
|
||||
/// <param name="cookie">当前操作的Cookie</param>
|
||||
/// <param name="item">视频信息</param>
|
||||
/// <param name="config">应用配置</param>
|
||||
/// <param name="fileName">原文件名称(如poster.jpg)</param>
|
||||
/// <param name="cate"></param>
|
||||
/// <returns>封面图片的文件名</returns>
|
||||
protected virtual string GetNfoFileName(DouyinCookie cookie, Aweme item, AppConfig config, string fileName, DouyinCollectCate cate)
|
||||
{
|
||||
return $"{item.AwemeId}_{fileName}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理单个用户Cookie的同步逻辑
|
||||
/// 负责循环获取视频数据、处理视频、保存视频信息等
|
||||
@@ -1363,8 +1357,7 @@ namespace dy.net.job
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(coverUrl)) return;
|
||||
// 获取封面图片文件名
|
||||
var coverImgName = GetNfoFileName(cookie, item, config, "poster.jpg", cate);
|
||||
var coverSavePath = Path.Combine(saveFolder, coverImgName);
|
||||
var coverSavePath = Path.Combine(saveFolder, "poster.jpg");
|
||||
|
||||
// 如果封面文件不存在,则下载
|
||||
if (!File.Exists(coverSavePath))
|
||||
|
||||
@@ -19,7 +19,16 @@ namespace dy.net.job
|
||||
if (cate != null)
|
||||
{
|
||||
var folder = Path.Combine(cookie.SavePath, DouyinFileNameHelper.SanitizeLinuxFileName(cate.SaveFolder, "", true), DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true));
|
||||
if (!Directory.Exists(folder)) Directory.CreateDirectory(folder);
|
||||
if (!Directory.Exists(folder))
|
||||
{
|
||||
Directory.CreateDirectory(folder);
|
||||
}
|
||||
else
|
||||
{
|
||||
//说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id
|
||||
|
||||
folder = Path.Combine(cookie.SavePath, DouyinFileNameHelper.SanitizeLinuxFileName(cate.SaveFolder, "", true), DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)+"_"+item.AwemeId);
|
||||
}
|
||||
return folder;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -64,9 +64,9 @@ namespace dy.net.utils
|
||||
}
|
||||
},
|
||||
Author = DouyinFileNameHelper.SanitizeLinuxFileName(video.Author, "", true),
|
||||
Poster = $"{video.AwemeId}_poster.jpg",
|
||||
Poster = "poster.jpg",
|
||||
Title = video.VideoTitle,
|
||||
Thumbnail = $"{video.AwemeId}_poster.jpg",// 使用poster作为缩略图
|
||||
Thumbnail = "poster.jpg",// 使用poster作为缩略图
|
||||
ReleaseDate = video.CreateTime,
|
||||
Genres = new List<string> { video.Tag1, video.Tag2, video.Tag3 }.Where(t => !string.IsNullOrWhiteSpace(t)).ToList()
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user