emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master e9107ba 5/8: packages/excorporate: Improve exco-get-meetin


From: Thomas Fitzsimmons
Subject: [elpa] master e9107ba 5/8: packages/excorporate: Improve exco-get-meetings-for-day
Date: Wed, 16 Mar 2016 16:08:31 +0000

branch: master
commit e9107ba36333eabf5518cee7c6658eb96fdf2cb0
Author: Thomas Fitzsimmons <address@hidden>
Commit: Thomas Fitzsimmons <address@hidden>

    packages/excorporate: Improve exco-get-meetings-for-day
    
    * packages/excorporate/excorporate.el (exco-get-meetings-for-day):
    Add RequestVersion header to FindItem request.  Use
    soap-operation-arity to calculate how many nil arguments to send.
---
 packages/excorporate/excorporate.el |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/packages/excorporate/excorporate.el 
b/packages/excorporate/excorporate.el
index 8168dd3..6051fdd 100644
--- a/packages/excorporate/excorporate.el
+++ b/packages/excorporate/excorporate.el
@@ -708,7 +708,12 @@ arguments, IDENTIFIER and the server's response."
      identifier
      "FindItem"
      `(;; Main arguments.
-       ((Traversal . "Shallow")
+       (;; RequestVersion is usually overridden by a fixed value in
+       ;; the WSDL (the RequestServerVersion element); provide the
+       ;; maximally-compatible Exchange2007 if the fixed value isn't
+       ;; present.
+       (RequestVersion (Version . "Exchange2007"))
+       (Traversal . "Shallow")
        (ItemShape
         (BaseShape . "AllProperties"))
        ;; To aid productivity, excorporate-calfw automatically prunes your
@@ -719,16 +724,13 @@ arguments, IDENTIFIER and the server's response."
        (ParentFolderIds
         (DistinguishedFolderId (Id . "calendar"))))
        ;; Empty arguments.
-       ,@(let ((server-major-version
-               (string-to-number
-                (substring (exco-server-version identifier) 8 12))))
-          (cond
-           ((<= server-major-version 2007)
-            '(nil nil nil nil))
-           ((< server-major-version 2013)
-            '(nil nil nil nil nil))
-           (t
-            '(nil nil nil nil nil nil)))))
+       ,@(let* ((wsdl (exco--with-fsm identifier
+                                     (plist-get (fsm-get-state-data fsm)
+                                                :service-wsdl)))
+               (arity (soap-operation-arity wsdl
+                                           "ExchangeServicePort"
+                                           "FindItem")))
+          (make-list (- arity 1) nil)))
      callback)))
 
 (defun exco-connection-iterate (initialize-function



reply via email to

[Prev in Thread] Current Thread [Next in Thread]