aboutsummaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
authorYuchen Pei <id@ypei.org>2025-07-29 08:42:24 +1000
committerYuchen Pei <id@ypei.org>2025-07-29 08:42:24 +1000
commite8eddcc6955f631ca0cfcd3b755c663a6b5d18ff (patch)
treec96db7936c10d23811ac4f33808b21c309d4800d /emacs
parentc29f76b4e026d1b5130015d508c04183c81f5dd8 (diff)
[emacs] Add music dirs
Diffstat (limited to 'emacs')
-rw-r--r--emacs/.emacs.d/init/ycp-basic.el2
-rw-r--r--emacs/.emacs.d/init/ycp-client.el3
-rw-r--r--emacs/.emacs.d/init/ycp-org.el2
-rw-r--r--emacs/.emacs.d/lisp/my/my-libgen.el27
-rw-r--r--emacs/.emacs.d/lisp/my/my-utils.el1
-rw-r--r--emacs/.emacs.d/lisp/my/my-ytdl.el21
6 files changed, 42 insertions, 14 deletions
diff --git a/emacs/.emacs.d/init/ycp-basic.el b/emacs/.emacs.d/init/ycp-basic.el
index cb097e7..313004f 100644
--- a/emacs/.emacs.d/init/ycp-basic.el
+++ b/emacs/.emacs.d/init/ycp-basic.el
@@ -62,7 +62,7 @@
(my-package my-utils
(:delay 5)
(my-setq-from-local my-audio-incoming-dir my-video-incoming-dir
- my-document-incoming-dir)
+ my-music-incoming-dir my-document-incoming-dir)
(my-setq-from-local my-copy-file-targets)
(my-keybind global-map
"C-c <f2>" #'my-rename-file-and-buffer
diff --git a/emacs/.emacs.d/init/ycp-client.el b/emacs/.emacs.d/init/ycp-client.el
index d35898c..16447fd 100644
--- a/emacs/.emacs.d/init/ycp-client.el
+++ b/emacs/.emacs.d/init/ycp-client.el
@@ -91,7 +91,8 @@
(:delay 60)
(require 'my-utils)
(setq my-ytdl-audio-download-dir my-audio-incoming-dir
- my-ytdl-video-download-dir my-video-incoming-dir))
+ my-ytdl-video-download-dir my-video-incoming-dir
+ my-ytdl-music-download-dir my-music-incoming-dir))
(my-package my-media-segment
(:delay 60))
diff --git a/emacs/.emacs.d/init/ycp-org.el b/emacs/.emacs.d/init/ycp-org.el
index 001dbe0..77f720d 100644
--- a/emacs/.emacs.d/init/ycp-org.el
+++ b/emacs/.emacs.d/init/ycp-org.el
@@ -376,7 +376,7 @@
("i" . my-org-append-subheading)
("^" . org-sort)
("w" . org-refile)
- ("a" . org-archive-subtree-default-with-confirmation)
+ ("a" . org-archive-subtree-default)
("@" . org-mark-subtree)
("#" . org-toggle-comment)
("Clock Commands")
diff --git a/emacs/.emacs.d/lisp/my/my-libgen.el b/emacs/.emacs.d/lisp/my/my-libgen.el
index c3ac3d2..5b84120 100644
--- a/emacs/.emacs.d/lisp/my/my-libgen.el
+++ b/emacs/.emacs.d/lisp/my/my-libgen.el
@@ -167,8 +167,7 @@
(dom-attr
(dom-search
(my-url-fetch-dom
- (format "%s/edition.php?id=%s" my-libgen-plus-host
- (alist-get 'edition-id info)))
+ (alist-get 'edition (my-libgen-plus-urls info)))
(lambda (n)
(string-match "r_[0-9]+_libgen" (or (dom-attr n 'href) ""))))
'href))
@@ -189,7 +188,7 @@
my-libgen-plus-host
(dom-attr
(dom-search
- (my-url-fetch-dom (format "%s/ads.php?md5=%s" my-libgen-plus-host .md5))
+ (my-url-fetch-dom (alist-get 'ads (my-libgen-plus-urls info)))
(lambda (n)
(string-match (format "get\\.php\\?md5=%s" .md5)
(or (dom-attr n 'href) ""))))
@@ -207,6 +206,18 @@
t
(lambda () (my-libgen-check-md5 filename md5)))))
+(defun my-libgen-plus-urls (info)
+ (let-alist info
+ `((ads . ,(format "%s/ads.php?md5=%s" my-libgen-plus-host .md5))
+ (edition . ,(format "%s/edition.php?id=%s" my-libgen-plus-host
+ .edition-id))
+ (file . ,(format "%s/file.php?id=%s" my-libgen-plus-host
+ .file-id)))))
+
+(defun my-libgen-plus-print-urls-action ()
+ (interactive)
+ (pp (my-libgen-plus-urls (get-text-property (point) 'button-data))))
+
(defun my-libgen-plus-download-onion-action ()
(interactive)
(let* ((info (get-text-property (point) 'button-data))
@@ -219,24 +230,23 @@
nil
(lambda () (my-libgen-check-md5 filename md5)))))
-(defun my-libgen-plus-edition-infobox (edition-id)
+(defun my-libgen-plus-edition-infobox (info)
(let ((dom (my-url-fetch-dom
- (format "%s/edition.php?id=%s" my-libgen-plus-host edition-id))))
+ (alist-get 'edition (my-libgen-plus-urls info)))))
(infobox-render-string
(with-temp-buffer
(insert (mapconcat (lambda (p) (dom-texts p ""))
(dom-by-tag (dom-by-class dom "order-2") 'p) "\n"))
(shr-insert-document (dom-by-class dom "order-5"))
(buffer-string))
- `(my-libgen-plus-edition-infobox ,edition-id)
+ `(my-libgen-plus-edition-infobox ,info)
(called-interactively-p 'interactive)
)
))
(defun my-libgen-plus-infobox-action ()
(interactive)
- (my-libgen-plus-edition-infobox
- (alist-get 'edition-id (get-text-property (point) 'button-data))))
+ (my-libgen-plus-edition-infobox (get-text-property (point) 'button-data)))
(defun my-libgen-check-md5 (file md5)
(let ((actual (substring (my-call-process-out "md5sum" file) 0 32)))
@@ -278,6 +288,7 @@
(define-key kmap "d" 'my-libgen-plus-download-action)
(define-key kmap "i" 'my-libgen-plus-infobox-action)
(define-key kmap "t" 'my-libgen-plus-download-onion-action)
+ (define-key kmap "u" 'my-libgen-plus-print-urls-action)
;; (define-key kmap "p" 'my-libgen-show-more-info)
kmap))
diff --git a/emacs/.emacs.d/lisp/my/my-utils.el b/emacs/.emacs.d/lisp/my/my-utils.el
index 0743227..ff65420 100644
--- a/emacs/.emacs.d/lisp/my/my-utils.el
+++ b/emacs/.emacs.d/lisp/my/my-utils.el
@@ -295,6 +295,7 @@ Example: (format-time-string ... (my-time-from-epoch 1698582504))"
(defvar my-video-incoming-dir my-incoming-dir)
(defvar my-audio-incoming-dir my-incoming-dir)
(defvar my-document-incoming-dir my-incoming-dir)
+(defvar my-music-incoming-dir my-incoming-dir)
(defmacro my-with-default-directory (dir &rest body)
"Run BODY with the default directory."
diff --git a/emacs/.emacs.d/lisp/my/my-ytdl.el b/emacs/.emacs.d/lisp/my/my-ytdl.el
index 5908666..b04b2a9 100644
--- a/emacs/.emacs.d/lisp/my/my-ytdl.el
+++ b/emacs/.emacs.d/lisp/my/my-ytdl.el
@@ -65,10 +65,15 @@
(defvar my-ytdl-audio-download-dir "~/Downloads"
"Directory for ytdl to download audios to.")
+(defvar my-ytdl-music-download-dir "~/Downloads"
+ "Directory for ytdl to download music to.")
+
(defun my-ytdl-internal (urls type &optional no-tor)
- (my-with-default-directory (if (eq type 'video)
- my-ytdl-video-download-dir
- my-ytdl-audio-download-dir)
+ (my-with-default-directory (pcase type
+ ('video my-ytdl-video-download-dir)
+ ('audio my-ytdl-audio-download-dir)
+ ('music my-ytdl-music-download-dir)
+ (_ (error "Unsupported type: %s" type)))
(apply 'my-start-process-with-torsocks
(append
(list no-tor (format "ytdl-%s" urls) (format "*ytdl-%s*" urls)
@@ -148,11 +153,21 @@
(interactive "sURL(s): ")
(my-ytdl-internal urls 'audio))
+(defun my-ytdl-music (urls)
+ "Download music with ytdl."
+ (interactive "sURL(s): ")
+ (my-ytdl-internal urls 'music))
+
(defun my-ytdl-audio-no-tor (urls)
"Download audio with ytdl."
(interactive "sURL(s): ")
(my-ytdl-internal urls 'audio t))
+(defun my-ytdl-music-no-tor (urls)
+ "Download music with ytdl."
+ (interactive "sURL(s): ")
+ (my-ytdl-internal urls 'music t))
+
;;; fixme: autoload
(defun my-ytdl-video-no-tor (urls)
"Download videos with ytdl."