Ver Fonte

Show images and video thumbnails

Yuchen Pei há 11 meses atrás
pai
commit
36551754f5
1 ficheiros alterados com 24 adições e 11 exclusões
  1. 24 11
      exitter.el

+ 24 - 11
exitter.el

@@ -732,17 +732,30 @@ TIME-STAMP is assumed to be in the past."
   (let-alist (seq-find
               (lambda (info) (equal url (alist-get 'url info)))
               urls)
-    (let ((expanded-url
-           (or .media_url_https .expanded_url url)))
-      (if .video_info
-          (format "Video (%d sec, %s): %s"
-                  (/ .video_info.duration_millis 1000)
-                  (exitter-make-org-link expanded-url "thumbnail")
-                  (alist-get 'url
-                             (elt .video_info.variants
-                                  (1- (length .video_info.variants))))
-                  )
-        expanded-url))))
+    (with-temp-buffer
+      (let ((expanded-url
+             (or .media_url_https .expanded_url url)))
+        (insert
+         (if .video_info
+             (format "%s (%s sec)"
+                     (exitter-make-org-link
+                      (alist-get 'url
+                                 (elt .video_info.variants
+                                      (1- (length .video_info.variants))))
+                      .type)
+                     (if .video_info.duration_millis
+                         (number-to-string (/ .video_info.duration_millis 1000))
+                       "??"))
+           (exitter-make-org-link expanded-url (or .type "link"))))
+        (when .media_url_https
+          (let ((image-file-name
+                 (file-name-concat exitter-dir
+                                   (file-name-nondirectory .media_url_https))))
+            (ignore-error 'file-already-exists
+              (url-copy-file .media_url_https image-file-name))
+            (insert "\n")
+            (insert-image (create-image image-file-name)))))
+      (buffer-string))))
 
 ;;; Probably not needed...
 ;; (defun exitter-get-redirect-url (url)