Function: gnus-icalendar-event--get-attendee-names

gnus-icalendar-event--get-attendee-names is a byte-compiled function defined in gnus-icalendar.el.gz.

Signature

(gnus-icalendar-event--get-attendee-names ICAL)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-icalendar.el.gz
(defun gnus-icalendar-event--get-attendee-names (ical)
  (let* ((event (car (icalendar--all-events ical)))
         (attendee-props (seq-filter
                          (lambda (p) (eq (car p) 'ATTENDEE))
                          (caddr event))))

    (cl-labels
	((attendee-role (prop)
                        ;; RFC5546: default ROLE is REQ-PARTICIPANT
                        (and prop
                             (or (plist-get (cadr prop) 'ROLE)
                                 "REQ-PARTICIPANT")))
	 (attendee-name
	  (prop)
	  (or (plist-get (cadr prop) 'CN)
	      (replace-regexp-in-string "^.*MAILTO:" "" (caddr prop))))
	 (attendees-by-type (type)
			    (seq-filter
			     (lambda (p) (string= (attendee-role p) type))
			     attendee-props))
	 (attendee-names-by-type
	  (type)
	  (mapcar #'attendee-name (attendees-by-type type))))
      (list
       (attendee-names-by-type "REQ-PARTICIPANT")
       (attendee-names-by-type "OPT-PARTICIPANT")))))