diff options
m--------- | emacs/.emacs.d/lisp/exitter | 0 | ||||
-rw-r--r-- | emacs/.emacs.d/lisp/my/my-libgen.el | 35 | ||||
-rw-r--r-- | emacs/.emacs.d/lisp/my/my-ytdl.el | 2 |
3 files changed, 35 insertions, 2 deletions
diff --git a/emacs/.emacs.d/lisp/exitter b/emacs/.emacs.d/lisp/exitter -Subproject 7ccd8ff06b50008ad0602c6652caebd4c4674a6 +Subproject eec7fd9f70d317a70049d5758929b984d8d1812 diff --git a/emacs/.emacs.d/lisp/my/my-libgen.el b/emacs/.emacs.d/lisp/my/my-libgen.el index d4efb30..c3ac3d2 100644 --- a/emacs/.emacs.d/lisp/my/my-libgen.el +++ b/emacs/.emacs.d/lisp/my/my-libgen.el @@ -162,6 +162,27 @@ id-head (downcase (alist-get 'md5 info))))) +(defun my-libgen-plus-make-download-link-onion (info) + (let* ((path + (dom-attr + (dom-search + (my-url-fetch-dom + (format "%s/edition.php?id=%s" my-libgen-plus-host + (alist-get 'edition-id info))) + (lambda (n) + (string-match "r_[0-9]+_libgen" (or (dom-attr n 'href) "")))) + 'href)) + (id + (progn + (string-match "r_\\([0-9]+\\)_libgen" path) + (match-string 1 path))) + (id-head (substring id 0 -3))) + (format "%s/LG/%s%s/%s" + my-libgen-onion-host + (make-string (- 4 (length id-head)) ?0) + id-head + (downcase (alist-get 'md5 info))))) + (defun my-libgen-plus-get-download-url (info) (let-alist info (file-name-concat @@ -183,6 +204,18 @@ (my-wget-async (my-libgen-plus-get-download-url info) filename + t + (lambda () (my-libgen-check-md5 filename md5))))) + +(defun my-libgen-plus-download-onion-action () + (interactive) + (let* ((info (get-text-property (point) 'button-data)) + (filename (file-name-concat (expand-file-name my-libgen-download-dir) + (my-libgen-format-filename info))) + (md5 (alist-get 'md5 info))) + (my-wget-async + (my-libgen-plus-make-download-link-onion info) + filename nil (lambda () (my-libgen-check-md5 filename md5))))) @@ -244,7 +277,7 @@ (set-keymap-parent kmap button-map) (define-key kmap "d" 'my-libgen-plus-download-action) (define-key kmap "i" 'my-libgen-plus-infobox-action) - ;; (define-key kmap "t" 'my-libgen-download-onion-action) + (define-key kmap "t" 'my-libgen-plus-download-onion-action) ;; (define-key kmap "p" 'my-libgen-show-more-info) kmap)) diff --git a/emacs/.emacs.d/lisp/my/my-ytdl.el b/emacs/.emacs.d/lisp/my/my-ytdl.el index b3b1cf7..5908666 100644 --- a/emacs/.emacs.d/lisp/my/my-ytdl.el +++ b/emacs/.emacs.d/lisp/my/my-ytdl.el @@ -91,7 +91,7 @@ (defun my-ytdl-video-url-p (url) (let ((urlobj (url-generic-parse-url url))) (or (and (string-match-p - "^\\(www\\.\\)?\\(youtube\\.com\\|yewtu\\.be\\)" + "^\\(www\\.\\|m\\.\\)?\\(youtube\\.com\\|yewtu\\.be\\)" (url-host urlobj)) (string-match-p "^/watch\\?v=.*" (url-filename urlobj))) (equal "youtu.be" (url-host urlobj))))) |