diff options
author | Sacha Chua <sacha@sachachua.com> | 2022-10-22 20:45:47 -0400 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2022-10-22 20:45:47 -0400 |
commit | 093497894b84bcea46c2df7b5d360261b881693e (patch) | |
tree | 7f7e8e2cc26bb99a8fc8083bc75b41a058dd732d /emacsconf.el | |
parent | 2b9059b57e2e904dd06e2efa96e4ad345d86bd8a (diff) | |
download | emacsconf-el-093497894b84bcea46c2df7b5d360261b881693e.tar.xz emacsconf-el-093497894b84bcea46c2df7b5d360261b881693e.zip |
Backstage functions
Diffstat (limited to 'emacsconf.el')
-rw-r--r-- | emacsconf.el | 35 |
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") |