From 193f6d72f4041dd7121ccc4a1e4895aa0f2a52e1 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 5 Oct 2022 12:02:40 -0400 Subject: Add emacsconf-validate-talk-subtree --- emacsconf.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/emacsconf.el b/emacsconf.el index 6d0e5ae..81caa56 100644 --- a/emacsconf.el +++ b/emacsconf.el @@ -753,6 +753,17 @@ Include some other things, too, such as emacsconf-year, title, name, email, url, "Remove CANCELLED talks from the list." (seq-remove (lambda (o) (string= (plist-get o :status) "CANCELLED")) list)) +(defun emacsconf-validate-talk-subtree () + "Report an error if required properties are missing." + (interactive) + (let* ((props (org-entry-properties)) + (missing (seq-remove + (lambda (o) (assoc-default (symbol-name o) props)) + '(CUSTOM_ID SLUG NAME NAME_SHORT EMAIL AVAILABILITY Q_AND_A TRACK MAX_TIME)))) + (when missing + (if (called-interactively-p 'any) + (message "Missing %s" (mapconcat #'symbol-name missing ", ")) + (format "Missing %s" (mapconcat #'symbol-name missing ", ")))))) (provide 'emacsconf) ;;; emacsconf.el ends here -- cgit v1.2.3