summaryrefslogtreecommitdiffstats
path: root/emacsconf.el
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-10-22 20:45:47 -0400
committerSacha Chua <sacha@sachachua.com>2022-10-22 20:45:47 -0400
commit093497894b84bcea46c2df7b5d360261b881693e (patch)
tree7f7e8e2cc26bb99a8fc8083bc75b41a058dd732d /emacsconf.el
parent2b9059b57e2e904dd06e2efa96e4ad345d86bd8a (diff)
downloademacsconf-el-093497894b84bcea46c2df7b5d360261b881693e.tar.xz
emacsconf-el-093497894b84bcea46c2df7b5d360261b881693e.zip
Backstage functions
Diffstat (limited to 'emacsconf.el')
-rw-r--r--emacsconf.el35
1 files changed, 32 insertions, 3 deletions
diff --git a/emacsconf.el b/emacsconf.el
index 6dee874..f2c5e96 100644
--- a/emacsconf.el
+++ b/emacsconf.el
@@ -117,11 +117,39 @@
(org-entry-put (point) "VIDEO_SLUG" (emacsconf-video-slug (emacsconf-get-talk-info-for-subtree))))
"SLUG={.}-VIDEO_SLUG={.}"))
-
+(defun emacsconf-upload-to-backstage ()
+ (interactive)
+ (copy-file (buffer-file-name) (expand-file-name (file-name-nondirectory (buffer-file-name))
+ emacsconf-backstage-dir)
+ t))
+(defun emacsconf-get-srv2-and-upload-to-backstage (talk)
+ (interactive (list (emacsconf-complete-talk-info (seq-filter (lambda (o) (plist-get o :youtube-url)) (emacsconf-get-talk-info)))))
+ (let ((filename (make-temp-file nil nil "srv2"))
+ (buf (get-buffer-create "*test*")))
+ (when (plist-get talk :youtube-url)
+ (call-process "yt-dlp" nil buf t "--write-sub" "--write-auto-sub" "--no-warnings" "--sub-lang" "en" "--skip-download" "--sub-format" "srv2" "-o" filename
+ (plist-get talk :youtube-url))
+ (with-current-buffer (find-file-noselect (concat filename ".en.srv2"))
+ (emacsconf-upload-to-backstage-and-rename talk "main")))))
+
+(defun emacsconf-upload-to-backstage-and-rename (talk filename)
+ (interactive (list (emacsconf-complete-talk-info)
+ (read-string (format "Filename (%s): "
+ (file-name-base (buffer-file-name)))
+ nil nil
+ (file-name-base (buffer-file-name)))))
+ (copy-file (buffer-file-name)
+ (expand-file-name (concat (plist-get talk :video-slug)
+ "--"
+ filename
+ "."
+ (file-name-extension (buffer-file-name)))
+ emacsconf-backstage-dir)
+ t))
(defun emacsconf-upload-copy-from-json (talk key filename)
(interactive (let-alist (json-parse-string (buffer-string) :object-type 'alist)
(list (emacsconf-complete-talk-info)
- .key
+ .metadata.key
(read-string (format "Filename (%s): "
(file-name-base .metadata.name))
nil nil
@@ -865,7 +893,8 @@
(set (car var) (gethash (cdr var) vars))
)
'((emacsconf-pad-api-key . etherpad_api_key)
- (emacsconf-pad-base . etherpad_url))))))
+ (emacsconf-pad-base . etherpad_url)
+ (emacsconf-backstage-password . emacsconf_backstage_password))))))
;; (emacsconf-ansible-load-vars (expand-file-name "prod-vars.yml" emacsconf-ansible-directory))
;;; Tracks
(defvar emacsconf-tracks '((:name "General" :color "peachpuff" :id "gen" :channel "emacsconf-gen")