diff options
| author | Sacha Chua <sacha@sachachua.com> | 2025-12-03 14:38:30 -0500 |
|---|---|---|
| committer | Sacha Chua <sacha@sachachua.com> | 2025-12-03 14:38:30 -0500 |
| commit | 0c811c66f416f0f2d144a1061c2f862300b2f516 (patch) | |
| tree | ead6533f3f7bb14686f75c9e5f95252eeb4a493b | |
| parent | 36b8b1eab50dcf7a0e427bfe4668b04f9f864e1e (diff) | |
| download | emacsconf-el-0c811c66f416f0f2d144a1061c2f862300b2f516.tar.xz emacsconf-el-0c811c66f416f0f2d144a1061c2f862300b2f516.zip | |
report on rescheduled talks
Diffstat (limited to '')
| -rw-r--r-- | emacsconf.el | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/emacsconf.el b/emacsconf.el index 7467178..ee57b38 100644 --- a/emacsconf.el +++ b/emacsconf.el @@ -2157,5 +2157,24 @@ With a prefix argument (\\[universal-argument]), open the general organizers not (find-file (emacsconf-latest-file (expand-file-name "../assets/intros" emacsconf-cache-dir) "^\\(intro\\|script\\).*.vtt")) (message "Remember to regenerate the intro videos."))) +(defun emacsconf-rescheduled-talks (&optional info) + "See `emacsconf-schedule-save-emailed-times' and `emacsconf-mail-schedule-updates'." + (seq-filter + (lambda (o) + (and (plist-get o :email) + (plist-get o :qa-type) + (not (string= (plist-get o :emailed-schedule) + (replace-regexp-in-string "[<>]" "" (plist-get o :scheduled)))) + (not (string= (plist-get o :qa-type) "none")))) + (emacsconf-publish-prepare-for-display (emacsconf-filter-talks (or info (emacsconf-get-talk-info)))))) + +(defun emacsconf-schedule-difference-from-emailed (talk) + "Return the number of minutes. Negative means earlier." + (let ((start (plist-get talk :start-time)) + (emailed (org-timestamp-to-time (org-timestamp-split-range + (org-timestamp-from-string + (format "<%s>" (plist-get talk :emailed-schedule))))))) + (round (/ (float-time (time-subtract emailed start)) 60.0)))) + (provide 'emacsconf) ;;; emacsconf.el ends here |
