[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 5281378 04/11: Excorporate: Add an organizer resolver func
From: |
Thomas Fitzsimmons |
Subject: |
[elpa] master 5281378 04/11: Excorporate: Add an organizer resolver function |
Date: |
Thu, 24 Sep 2020 21:54:52 -0400 (EDT) |
branch: master
commit 52813783e24de8df2210e9f830a056bf52bee31e
Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Commit: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Excorporate: Add an organizer resolver function
* packages/excorporate/excorporate.el
(exco-organizer-smtp-email-address): New function.
---
packages/excorporate/excorporate.el | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/packages/excorporate/excorporate.el
b/packages/excorporate/excorporate.el
index ec9f793..84c404c 100644
--- a/packages/excorporate/excorporate.el
+++ b/packages/excorporate/excorporate.el
@@ -861,6 +861,38 @@ argument ICALENDAR-TEXT."
mime-path response)))
coding-system))))))
+;; The organizer email is in the server's internal "EX" format.
+;; Resolve it synchronously, for simplicity.
+(defun exco-organizer-smtp-email-address (identifier organizer-structure)
+ "Return the organizer's SMTP email address as a string.
+IDENTIFIER is the connection identifier to use to resolve
+ORGANIZER-STRUCTURE to the returned value. ORGANIZER-STRUCTURE
+should be treated as opaque."
+ (let* ((wrapped (list (list organizer-structure)))
+ (routing-type
+ (exco-extract-value '(Organizer Mailbox RoutingType) wrapped))
+ (email-address
+ (exco-extract-value '(Organizer Mailbox EmailAddress) wrapped)))
+ (cond
+ ((equal routing-type "EX")
+ (exco-extract-value
+ '(ResponseMessages
+ ResolveNamesResponseMessage
+ ResolutionSet
+ Resolution
+ Mailbox
+ EmailAddress)
+ (with-timeout
+ (2 (progn
+ (message (concat "exco-organizer-smtp-email-address:"
+ " Server did not respond in time"))
+ nil))
+ (exco-operate-synchronously identifier
+ "ResolveNames"
+ `(((UnresolvedEntry . ,email-address))
+ nil nil nil)))))
+ ((equal routing-type "SMTP") email-address))))
+
(defmacro exco--calendar-item-dolist (item items &rest forms)
"Iterate through ITEMS.
On each iteration, ITEM is set, and FORMS are run."
- [elpa] master updated (fdfd986 -> 9ce646f), Thomas Fitzsimmons, 2020/09/24
- [elpa] master ba7b6c9 05/11: Excorporate: Add some helper functions to Org backend, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 9ce646f 11/11: Excorporate: Document API usage in manual, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 030ea89 02/11: Excorporate: Adjust some documentation strings, Thomas Fitzsimmons, 2020/09/24
- [elpa] master a078150 01/11: Excorporate: Support replying to meeting requests, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 05bd7d0 03/11: Excorporate: Change organizer representation, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 5281378 04/11: Excorporate: Add an organizer resolver function,
Thomas Fitzsimmons <=
- [elpa] master 5df7dfd 06/11: Excorporate: Simplify organizer handling in Org backend, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 3bd310b 07/11: Excorporate: Support replying to meeting requests in Org buffer, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 57020a8 08/11: Excorporate: Fix some byte compiler warnings, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 064a111 09/11: Excorporate: Require Org 9.0 or newer, Thomas Fitzsimmons, 2020/09/24
- [elpa] master 137f24e 10/11: Excorporate: Document new interactive functions, Thomas Fitzsimmons, 2020/09/24