diff options
author | Yuchen Pei <id@ypei.org> | 2025-03-09 09:46:35 +1100 |
---|---|---|
committer | Yuchen Pei <id@ypei.org> | 2025-03-09 09:46:35 +1100 |
commit | 4c65d5f267f3ed70224ae6e8c26430a9571a21dd (patch) | |
tree | 24c93ea5d2ae8f32e2e49e861a5b6504229f1fa1 /emacs/.emacs.d/lisp/my/my-wget.el | |
parent | 91a65da0359839fd5d4c95d62d49fabffad8998a (diff) |
[emacs][mpv][bashrc] emms group play fix
Diffstat (limited to 'emacs/.emacs.d/lisp/my/my-wget.el')
-rw-r--r-- | emacs/.emacs.d/lisp/my/my-wget.el | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/emacs/.emacs.d/lisp/my/my-wget.el b/emacs/.emacs.d/lisp/my/my-wget.el index 5349257..e7283aa 100644 --- a/emacs/.emacs.d/lisp/my/my-wget.el +++ b/emacs/.emacs.d/lisp/my/my-wget.el @@ -48,20 +48,31 @@ (kill-new full-path) (message "Saved webpage to %s (path copied)." full-path))) -(defun my-wget-async (url filename &optional no-tor move-if-video-or-large) +(defun my-wget-async (url filename &optional no-tor on-success on-fail) (set-process-sentinel (my-start-process-with-torsocks no-tor "wget" "*wget*" "wget" url "-c" "-O" filename) - (lambda (_process _event) - (when (and move-if-video-or-large - (or - (> (file-attribute-size (file-attributes filename)) - my-wget-size-threshold) - (member (file-name-extension filename) my-wget-video-extensions))) - (setq filename - (my-rename-and-symlink-back - filename (expand-file-name my-wget-video-archive-directory) nil))) - (message "Fetched %s and saved to: %s" url filename)))) + (lambda (proc event) + (let ((ps (process-status proc)) + (status (process-exit-status proc))) + (if (eq status 0) + (progn + (message "[DONE] Fetched %s to %s" url filename) + (when on-success (funcall on-success))) + (message "[FAIL] Fetching %s to %s: %s" url filename event) + (when on-fail (funcall on-fail)))) + ) + )) + +(defun my-wget-move-if-video-or-large (url filename _process _event) + (when (or + (> (file-attribute-size (file-attributes filename)) + my-wget-size-threshold) + (member (file-name-extension filename) my-wget-video-extensions)) + (setq filename + (my-rename-and-symlink-back + filename (expand-file-name my-wget-video-archive-directory) nil))) + (message "Fetched %s and saved to: %s" url filename)) (defun wget-async-urls-with-prefix (urls prefix &optional no-tor move-if-video-or-large) (let ((i 1)) |