nfo文件封面识别失败问题处理
This commit is contained in:
@@ -49,7 +49,16 @@ namespace dy.net.job
|
|||||||
authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}";
|
authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}";
|
||||||
}
|
}
|
||||||
var folder = Path.Combine(cookie.SavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, 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;
|
return folder;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,16 @@ namespace dy.net.job
|
|||||||
authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}";
|
authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}";
|
||||||
}
|
}
|
||||||
var folder = Path.Combine(cookie.FavSavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, 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;
|
return folder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-18
@@ -204,7 +204,16 @@ namespace dy.net.job
|
|||||||
{
|
{
|
||||||
var subFolder = DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true);
|
var subFolder = DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true);
|
||||||
var folder = Path.Combine(cookie.SavePath, subFolder);
|
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;
|
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>
|
/// <summary>
|
||||||
/// 处理单个用户Cookie的同步逻辑
|
/// 处理单个用户Cookie的同步逻辑
|
||||||
/// 负责循环获取视频数据、处理视频、保存视频信息等
|
/// 负责循环获取视频数据、处理视频、保存视频信息等
|
||||||
@@ -1363,8 +1357,7 @@ namespace dy.net.job
|
|||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(coverUrl)) return;
|
if (string.IsNullOrWhiteSpace(coverUrl)) return;
|
||||||
// 获取封面图片文件名
|
// 获取封面图片文件名
|
||||||
var coverImgName = GetNfoFileName(cookie, item, config, "poster.jpg", cate);
|
var coverSavePath = Path.Combine(saveFolder, "poster.jpg");
|
||||||
var coverSavePath = Path.Combine(saveFolder, coverImgName);
|
|
||||||
|
|
||||||
// 如果封面文件不存在,则下载
|
// 如果封面文件不存在,则下载
|
||||||
if (!File.Exists(coverSavePath))
|
if (!File.Exists(coverSavePath))
|
||||||
|
|||||||
@@ -19,7 +19,16 @@ namespace dy.net.job
|
|||||||
if (cate != null)
|
if (cate != null)
|
||||||
{
|
{
|
||||||
var folder = Path.Combine(cookie.SavePath, DouyinFileNameHelper.SanitizeLinuxFileName(cate.SaveFolder, "", true), DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true));
|
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;
|
return folder;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -64,9 +64,9 @@ namespace dy.net.utils
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
Author = DouyinFileNameHelper.SanitizeLinuxFileName(video.Author, "", true),
|
Author = DouyinFileNameHelper.SanitizeLinuxFileName(video.Author, "", true),
|
||||||
Poster = $"{video.AwemeId}_poster.jpg",
|
Poster = "poster.jpg",
|
||||||
Title = video.VideoTitle,
|
Title = video.VideoTitle,
|
||||||
Thumbnail = $"{video.AwemeId}_poster.jpg",// 使用poster作为缩略图
|
Thumbnail = "poster.jpg",// 使用poster作为缩略图
|
||||||
ReleaseDate = video.CreateTime,
|
ReleaseDate = video.CreateTime,
|
||||||
Genres = new List<string> { video.Tag1, video.Tag2, video.Tag3 }.Where(t => !string.IsNullOrWhiteSpace(t)).ToList()
|
Genres = new List<string> { video.Tag1, video.Tag2, video.Tag3 }.Where(t => !string.IsNullOrWhiteSpace(t)).ToList()
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user