Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]OSError: [Errno 36] File name too long #636

Open
tanmx opened this issue Jan 8, 2024 · 2 comments
Open

[BUG]OSError: [Errno 36] File name too long #636

tanmx opened this issue Jan 8, 2024 · 2 comments
Assignees

Comments

@tanmx
Copy link

tanmx commented Jan 8, 2024

描述出现的错误

OSError: [Errno 36] File name too long: '/root/TikTokDownload/Download/douyin/post/小小七__/2023-12-18 07-14-02_浙江温州人_96年24岁_此视频只回复一个大叔_如果我回复你了_这一年的烟钱 我包了_以后我们的故事也开始了_#vlog我的日常生活_#我的人间记录_#吃吃喝喝又一天_#生活碎片记录_video.mp4'

bug复现
复现这次行为的步骤:

f2 dy -c conf/app.yaml -u https://v.douyin.com/iRRk3G49

桌面(请填写以下信息):
-操作系统:Ubuntu 22.04
-vpn代理:关闭
-项目版本:Version 0.0.1.3
-py版本:3.11

附文
python 限制文件名255个字符,建议超过255的截断

关联问题:#469

@cor961
Copy link

cor961 commented Jan 9, 2024

OSError: [Errno 36] File name too long
遇到相同问题,我还以为新版本这个问题解决了呢。
遇到这个问题,旧版程序还好是跳过,新版就直接退出了。

@ttlttc
Copy link

ttlttc commented Jan 11, 2024

要么就不用desc文件名,要么换windows下载,这是Linux文件系统限制

Johnserf-Seed added a commit to Johnserf-Seed/f2 that referenced this issue Feb 15, 2024
## v0.0.1.4 Changed

### 修复 [Fixed]
- 修复了非Windows系统下创建长中文名文件出错的问题 #34 Johnserf-Seed/TikTokDownload#653
Johnserf-Seed/TikTokDownload#636
Johnserf-Seed/TikTokDownload#483
- 修复了接口缺失时间戳值导致的问题 #23
- 修复了douyin `utils`模块对aweme_id的处理
- 修复了CLI参数合并时的一些问题,确保自定义配置的正确性
- 修复douyin直播嵌套ts文件无法获取字节大小的问题 Johnserf-Seed/TikTokDownload#649
- 修复了douyin收藏作品下载错误的问题 Johnserf-Seed/TikTokDownload#650
- 修复了示例代码片段与开发者文档代码片段
- 修复了cli退出时`base_downloader`出现 UnboundLocalError 错误的问题
- 修复了`base_downloader`下载文件区块时未能正确捕获超时错误
- 修复了在更新配置时缺少自定义配置文件路径的问题
- 修复了`get_or_add_user_data`中的`AttributeError`问题
- 修复了数据库文件名
- 修复了部分自定义配置失效的问题

### 修改 [Change]
- 修改了日志输出,以便更好地了解配置加载情况
- 修改了TokenManager里固定配置的读取方式,增强了配置的易用性和可维护性
- 修改了默认低频主配置文件、F2低频配置文件
- 修改了配置文件与CLI命令,解决了部分自定义配置失效的问题
- 修改了部分方法的签名,提升了代码清晰度和可读性

### 更新 [Update]
- 更新了翻译文件和模板
- 更新了app帮助说明
- 更新了文档内容和静态文件
- 更新了`base_crawler`的POST获取json方法
- 重新设计了处理配置参数的逻辑,提升了性能和灵活性
- 更新了模块捕获错误时显示具体类名
- 更新了默认低频主配置文件和F2低频配置文件
- 更新了依赖库版本,确保兼容性 Johnserf-Seed/TikTokDownload#641
- 更新了TikTok和Douyin的开发者接口文档和代码片段

### 添加 [Add]
- 添加了默认低频配置文件路径,用于生成app配置文件
- 添加了QA文档,提供了常见问题与解决办法
- 添加了app`cli`模块的`merge_config`方法
- 添加了写入配置文件时处理文件权限问题的功能
- 添加了所有单元测试的path注释
- 添加了对于不同操作系统下文件名长度的处理方法
- 添加了不同app`utils`模块的连接失败与错误处理
- 添加了提取有效URL的错误类型
- 添加了douyin msToken值验证

### 改进 [Improve]
- 改进了部分单元测试代码,提升了代码质量
- 改进了douyin的handler_sso_login方法,保证配置文件路径正确
- 优化了异常处理机制,使得错误信息更加详细和可读
- 改进了`base_downloader`无代理配置默认值
- 改进了app`crawler`无代理配置默认值
- 改进了app`handler`类的结构和清晰度
- 改进了日志输出,增加了配置加载情况的显示
- 重写了配置参数的处理逻辑,提升了性能和可维护性

### 删除 [Delete]
- 删除了pot翻译模板文件
- 删除了无用的测试文件和部分注释代码
- 删除了弃用文档
- 移除了一些不必要的依赖和配置项
- 删除了不再使用的接口和方法
- 删除了f2主配置文件中的代理值与无效值
- 删除了一些注释
- 删除了`base_crawler`模块选择随机代理的注释代码

### 其他 [Other]
- 进行了代码格式化和优化,增强了代码的可读性和可维护性
- 解决了一些Bug和错误,提升了程序的稳定性和可靠性
Johnserf-Seed added a commit to Johnserf-Seed/f2 that referenced this issue Feb 15, 2024
## v0.0.1.4 Changed

### 修复 [Fixed]
- 修复了非Windows系统下创建长中文名文件出错的问题 #34 
Johnserf-Seed/TikTokDownload#653
Johnserf-Seed/TikTokDownload#636
Johnserf-Seed/TikTokDownload#483
- 修复了接口缺失时间戳值导致的问题 #23
- 修复了douyin `utils`模块对aweme_id的处理
- 修复了CLI参数合并时的一些问题,确保自定义配置的正确性
- 修复douyin直播嵌套ts文件无法获取字节大小的问题 Johnserf-Seed/TikTokDownload#649
- 修复了douyin收藏作品下载错误的问题 Johnserf-Seed/TikTokDownload#650
- 修复了示例代码片段与开发者文档代码片段
- 修复了cli退出时`base_downloader`出现 UnboundLocalError 错误的问题
- 修复了`base_downloader`下载文件区块时未能正确捕获超时错误
- 修复了在更新配置时缺少自定义配置文件路径的问题
- 修复了`get_or_add_user_data`中的`AttributeError`问题
- 修复了数据库文件名
- 修复了部分自定义配置失效的问题

### 修改 [Change]
- 修改了日志输出,以便更好地了解配置加载情况
- 修改了TokenManager里固定配置的读取方式,增强了配置的易用性和可维护性
- 修改了默认低频主配置文件、F2低频配置文件
- 修改了配置文件与CLI命令,解决了部分自定义配置失效的问题
- 修改了部分方法的签名,提升了代码清晰度和可读性

### 更新 [Update]
- 更新了翻译文件和模板
- 更新了app帮助说明
- 更新了文档内容和静态文件
- 更新了`base_crawler`的POST获取json方法
- 重新设计了处理配置参数的逻辑,提升了性能和灵活性
- 更新了模块捕获错误时显示具体类名
- 更新了默认低频主配置文件和F2低频配置文件
- 更新了依赖库版本,确保兼容性 Johnserf-Seed/TikTokDownload#641
- 更新了TikTok和Douyin的开发者接口文档和代码片段

### 添加 [Add]
- 添加了默认低频配置文件路径,用于生成app配置文件
- 添加了QA文档,提供了常见问题与解决办法
- 添加了app`cli`模块的`merge_config`方法
- 添加了写入配置文件时处理文件权限问题的功能
- 添加了所有单元测试的path注释
- 添加了对于不同操作系统下文件名长度的处理方法
- 添加了不同app`utils`模块的连接失败与错误处理
- 添加了提取有效URL的错误类型
- 添加了douyin msToken值验证

### 改进 [Improve]
- 改进了部分单元测试代码,提升了代码质量
- 改进了douyin的handler_sso_login方法,保证配置文件路径正确
- 优化了异常处理机制,使得错误信息更加详细和可读
- 改进了`base_downloader`无代理配置默认值
- 改进了app`crawler`无代理配置默认值
- 改进了app`handler`类的结构和清晰度
- 改进了日志输出,增加了配置加载情况的显示
- 重写了配置参数的处理逻辑,提升了性能和可维护性

### 删除 [Delete]
- 删除了pot翻译模板文件
- 删除了无用的测试文件和部分注释代码
- 删除了弃用文档
- 移除了一些不必要的依赖和配置项
- 删除了不再使用的接口和方法
- 删除了f2主配置文件中的代理值与无效值
- 删除了一些注释
- 删除了`base_crawler`模块选择随机代理的注释代码

### 其他 [Other]
- 进行了代码格式化和优化,增强了代码的可读性和可维护性
- 解决了一些Bug和错误,提升了程序的稳定性和可靠性
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants