两个插件,使用 Emacs 管理 Dropbox 和 百度网盘。
有兴趣的,欢迎尝试:
功能简介:
- 可以直接搜索网盘上文件并打开
- 使用 Dired 对网盘上文件进行管理
- 类 Tramp 方式直接修改网盘上的文件
两个插件,使用 Emacs 管理 Dropbox 和 百度网盘。
有兴趣的,欢迎尝试:
功能简介:
大佬,这两个插件都好赞呀,手动来点赞!
doom emacs 下安装好像有问题:
x There was an unexpected error
Message: Symbol's value as variable is void
Error: (void-variable dupan-prefix)
Backtrace:
(concat "\\`" dupan-prefix)
(cons (concat "\\`" dupan-prefix) 'dupan-handler)
(add-to-list 'file-name-handler-alist (cons (concat "\\`" dupan-prefix) 'd...
(load-with-code-conversion "/Users/sfq/.emacs.d/.local/straight/build-28.1...
(load "/Users/sfq/.emacs.d/.local/straight/build-28.1/dupan/dupan-autoload...
(progn (load autoloads-file nil 'nomessage))
(if (file-exists-p autoloads-file) (progn (load autoloads-file nil 'nomess...
(let ((autoloads-file (straight--autoloads-file package))) (if (file-exist...
(straight--load-package-autoloads "dupan")
(let ((name (symbol-name package))) (add-to-list 'load-path (directory-fil...
! Extended backtrace logged to ~/.emacs.d/.local/doom.error.log
看来是注册 handler 的语句多余添加了 ;;;###autoload
。最新代码已经将其移除,请更新代码再试。
可以啦,顺便问一下回调页是不是设置成https://pan.baidu.com/union/console,就行了。
你设成这个,后面授权成功后,浏览器会跳转到一个新的页面,地址栏里 url 会是类似 https://pan.baidu.com/union/console?code=xxkdjfkdfj
的样子。那后面的 xxkdjfkdfj 就是需要的 code 了。
好的,谢谢,似乎要等回调地址生效。
管理百度盘文件简直太好用了,之前一直想整理网盘文件,太麻烦放弃了。
简单看了下实现,下载是用 url-retrieve 实现的,想问问这个靠谱嘛?下载大文件会卡 Emacs 嘛?之前在用 elfeed 时写过一篇文章[1],里面介绍了 url-retrieve 的各种问题, 不知道新版本的 Emacs 有没有所改善?
以前用过 request.el
,curl
作为后端,使用体验并没好多少,反而遇到过一些 BUG,所以并不喜欢(纯粹个人感觉)。
至于 url.el
到底慢多少,没做过专门比较,不过从我的使用体验看,并没有多差。比如,我日常在各个操作系统不同电脑上使用 go-translate
进行翻译,用的就是 url.el
,速度可以接受,出错的概率极低。
至于你提到的: tls
问题,偶尔会遇到,但很少;proxy
的问题,无感,可能跟我使用代理的方式有关。
最好的解决方案还是把 curl
集成到 url.el
中,作为可选项。不过这个真不知道有没有实现的那一天
至于下载,我这边用 url.el
从百度网盘下载几十兆的东西,基本都是十秒左右下完,尚可。
如果下载超大文件的话,其实换不换 curl
都差不多,我感觉更合适的方式,还是类似 GitHub - emacsmirror/aria2: Control aria2c commandline tool from Emacs 的解决方案,给 Emacs 添加一个下载管理器。
也许可以使用外部扩展的方式给 Emacs 添加一个跨平台的下载管理器,将 Emacs 变成一个迅雷使用,那样就方便了,哈哈。
EAF 浏览器已经自带了 aria2 的图形下载插件,这个功能已经有了,哈哈哈。
那改天研究下,能不能将网盘上的文件,直接交给 eaf 的下载插件进行下载。如果可以的话,那就妙极。
楼主太牛了,终于等到百度客户端了。
不过有个小问题,在spacemacs里c-x c-f会调用helm,导致报tramp的一个错误:
`Error running timer: (user-error “Not a Tramp file name: "/dp:"”)
临时直接调用这个了
(find-file “/dp:/”)
能不能提供一个不调用系统打开文件的接口。
这么牛的插件岂能不赞 赶紧发布到melpa吧
helm
没用过,不懂。但是它将以 /dp:
开始的也当作 Tramp file 应该不妥吧,建议你给他们提一下 Issue。
你也可以写一个小命令完成调用啊,比如:
(defun you-command-to-open-baidu-file ()
(interactive)
(let ((file (read-string "请输入您的百度网盘路径: " "/dp:")))
(find-file file)))
我觉得这个就没必要添加到源码中去了。
懒啊,有时间再说。
现在完善了百度网盘的上传,增加了分片上传,也就是说上传文件的大小没有 4M 限制了。
4M 还是太小了啊。
PS: 这样,跨网盘之间 (dropbox <-> 百度) 的文件复制/迁移就方便多了。
算了,helm问题太多,就算能打开了,拷文件还是一样报错。 改成ivy一切ok
我最近也探索了下这方面,除了 EAF 这种大杀器,要是对动态模块不介意,可以考虑用 libcurl + 多线程的方式,这样就不会堵塞 Emacs 主进程了。我在一个插件中实现了,供参考:
你这个很适合单独分出来一个包,做成通用的下载管理器啊,就像浏览器里的下载管理一样。那样的话,其他人想要做下载任务的时候,直接调用就好了。