iawia002 / lux

👾 Fast and simple video download library and CLI tool written in Go
MIT License
26.72k stars 2.92k forks source link

v0.9.6 #522的title长度问题依旧存在 #584

Open FurryWolfX opened 4 years ago

FurryWolfX commented 4 years ago

下载如:【2019全年188话更新完毕】零基础BLENDER2.8中文开源系统入门教程—《黑铁骑士入门篇》(可能是全网最系统的从安装开始的blender2.8中文....flv 分P名称由于title过长被截掉了,导致下载不断覆盖同一个文件。

建议:可否提供一个参数,只显示分P名称?

chinuno-usami commented 4 years ago

。我好像不应该把#522 给关掉。。实际上上次的commit只是改了后缀被截掉和长度80以内没有分p号的问题。
如果要考虑文件名长度限制那没法处理吧。只加上分p名也可能有分p名巨长的情况。除非先判断一下当前名字的文件是否已经存在,有的话加个序号之类的。

FurryWolfX commented 4 years ago

只展示分P名虽然不是治本的方案,但应该能解决大部分情况。因为UP主上传过长的分P名会影响观看,所以基本上不会很长。

xiaoxiaoyu93 commented 4 years ago

巧了 下同一个视频遇到的 自己动手丰衣足食 太困了懒得PR 先贴一下自己的改动

Index: downloader/downloader.go
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- downloader/downloader.go    (revision 4da6cdfe51964d89df4ac051b060d6e738a587b6)
+++ downloader/downloader.go    (date 1586794905068)
@@ -187,11 +187,11 @@
        title  string
        stream string
    )
-   if config.OutputName == "" {
+   //if config.OutputName == "" {
        title = utils.FileName(v.Title, "")
-   } else {
-       title = utils.FileName(config.OutputName, "")
-   }
+   //} else {
+   //  title = utils.FileName(config.OutputName, "")
+   //}
    if config.Stream == "" {
        stream = v.sortedStreams[0].name
    } else {
Index: extractors/bilibili/bilibili.go
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- extractors/bilibili/bilibili.go (revision 4da6cdfe51964d89df4ac051b060d6e738a587b6)
+++ extractors/bilibili/bilibili.go (date 1586794172827)
@@ -326,7 +326,10 @@
    if err != nil {
        return downloader.EmptyData(options.url, err)
    }
-   title := parser.Title(doc)
+   title := config.OutputName
+   if config.OutputName == "" {
+       title = parser.Title(doc)
+   }
    if options.subtitle != "" {
        title = fmt.Sprintf("%s P%d %s", title, options.page, options.subtitle)
    }

-O 黑铁骑士替换原标题 当然只是一个临时的解决办法