summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmacsConf <emacsconf-org@gnu.org>2022-11-06 12:12:04 -0800
committerEmacsConf <emacsconf-org@gnu.org>2022-11-06 12:12:04 -0800
commit1d117af1a18a5aeeb8d6f4e4daf7ed5def0c6385 (patch)
treeea1bbc22c5fc65452d9068a339be51c3e3ba52d8
parent0c56ca0b7e7ebe1d63251d887aa947925fc018fc (diff)
parent0ffe08c3ac5c40ad7dd9e3f7534b3bc3d6a358be (diff)
downloademacsconf-el-1d117af1a18a5aeeb8d6f4e4daf7ed5def0c6385.tar.xz
emacsconf-el-1d117af1a18a5aeeb8d6f4e4daf7ed5def0c6385.zip
Merge branch 'main' of git.emacsconf.org:pub/emacsconf-el
-rw-r--r--emacsconf-erc.el9
-rw-r--r--emacsconf-schedule.el21
2 files changed, 29 insertions, 1 deletions
diff --git a/emacsconf-erc.el b/emacsconf-erc.el
index 6069335..6c9a742 100644
--- a/emacsconf-erc.el
+++ b/emacsconf-erc.el
@@ -165,7 +165,8 @@ If MESSAGE is not specified, reset the topic to the template."
((string-match "live" (or (plist-get talk :q-and-a) ""))
(erc-send-message (concat "Live Q&A: " (plist-get talk :bbb-redirect))))
((plist-get talk :irc)
- (erc-send-message "or discuss the talk on IRC (nick: %s)")))))
+ (erc-send-message (format "or discuss the talk on IRC (nick: %s)"
+ (plist-get talk :irc)))))))
;; Short announcement in #emacsconf
(emacsconf-erc-with-channels (list emacsconf-erc-hallway emacsconf-erc-org)
(erc-send-message (format "-- %s track: %s: %s (watch: %s, pad: %s, channel: #%s)"
@@ -306,6 +307,12 @@ If MESSAGE is not specified, reset the topic to the template."
(erc-cmd-OP nick)
(erc-cmd-OPME))))
+(defun erc-cmd-DEOPALL (&optional nick)
+ (emacsconf-erc-with-channels (mapcar 'car emacsconf-topic-templates)
+ (if nick
+ (erc-cmd-DEOP nick)
+ (erc-cmd-DEOPME))))
+
(defun erc-cmd-BROADCAST (&rest message)
"Say MESSAGE in all the emacsconference channels."
(emacsconf-erc-with-channels (mapcar 'car emacsconf-topic-templates)
diff --git a/emacsconf-schedule.el b/emacsconf-schedule.el
index b8c3892..2f9a029 100644
--- a/emacsconf-schedule.el
+++ b/emacsconf-schedule.el
@@ -338,6 +338,12 @@ Each function should take the info and manipulate it as needed, returning the ne
(when track
(dom-set-attribute node 'fill (plist-get track :color)))))
+(defun emacsconf-schedule-svg-color-by-availability (o node &optional parent)
+ (dom-set-attribute node 'fill
+ (if (string-match "^[><]" (plist-get o :availability))
+ "gray"
+ "green")))
+
(defun emacsconf-schedule-svg (width height &optional info)
(setq info (or info (emacsconf-get-talk-info)))
(let ((days (seq-group-by (lambda (o)
@@ -358,6 +364,21 @@ Each function should take the info and manipulate it as needed, returning the ne
:tracks (emacsconf-by-track (cdr o)))))
days))))
+(defun emacsconf-schedule-svg-color-by-status (o node &optional parent)
+ (dom-set-attribute node 'fill
+ (pcase (plist-get o :status)
+ ((rx (or "TO_PROCESS"
+ "PROCESSING"
+ "TO_AUTOCAP"))
+ "lightyellow")
+ ((rx (or "TO_ASSIGN"))
+ "yellow")
+ ((rx (or "TO_CAPTION"))
+ "lightgreen")
+ ((rx (or "TO_STREAM"))
+ "green")
+ (t "gray"))))
+
(defun emacsconf-schedule-svg-days (width height days)
(let ((svg (svg-create width height :background "white"))
(day-height (/ height (length days)))