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

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

[elpa] externals/excorporate f59702d 2/2: Specify time zone during item


From: Thomas Fitzsimmons
Subject: [elpa] externals/excorporate f59702d 2/2: Specify time zone during item creation
Date: Sat, 3 Apr 2021 20:30:07 -0400 (EDT)

branch: externals/excorporate
commit f59702d98db1a793bbba74691aeb07e4af660d2d
Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Commit: Thomas Fitzsimmons <fitzsim@fitzsim.org>

    Specify time zone during item creation
    
    * excorporate.el (excorporate-time-zone): Require
    excorporate-time-zone.
    (excorporate-time-zone): New defcustom.
    (exco-calendar-item-meeting-create)
    (exco-calendar-item-appointment-create): Specify start time zone.
    * excorporate.texi (API Usage): Mention exco-time-zone.
---
 excorporate.el   | 15 +++++++++++++++
 excorporate.texi |  5 ++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/excorporate.el b/excorporate.el
index a1a3320..49ace9c 100644
--- a/excorporate.el
+++ b/excorporate.el
@@ -122,6 +122,7 @@
 (require 'fsm)
 (require 'excorporate-calendar)
 (require 'org)
+(require 'excorporate-time-zone)
 
 (defgroup excorporate nil
   "Exchange support."
@@ -143,6 +144,18 @@ interactive functions, `excorporate-diary-disable' and
 `excorporate-diary-enable'."
   :type 'boolean)
 
+(defcustom excorporate-time-zone nil
+  "The server-style time zone.
+If this variable is nil, Excorporate will compute a time zone
+automatically based on `current-time-zone'.  If that doesn't
+work, or you want to specify the time zone directly, run
+`excorporate-customize-time-zone' to customize this variable from
+a list of valid values."
+  :type '(choice :menu-tag "Server-style time zone"
+                :tag "Server-style time zone"
+                (const :tag "Compute from Emacs time zone" nil)
+                string))
+
 ;; For Office 365, URLs containing autodiscover-s.outlook.com do not
 ;; seem to work properly (the returned XML gives ErrorCode 600).
 (defconst exco--autodiscovery-templates
@@ -753,6 +766,7 @@ creation."
        (CalendarItem
        (Subject . ,subject)
        (Body (BodyType . "Text") ,body)
+       (StartTimeZone (Id . ,(exco-time-zone)))
         (Start . ,(exco-format-date-time start))
         (End . ,(exco-format-date-time end))
         (Location . ,location)
@@ -831,6 +845,7 @@ appointment creation."
                    (CalendarItem
                      (Subject . ,subject)
                     (Body (BodyType . "Text") ,body)
+                    (StartTimeZone (Id . ,(exco-time-zone)))
                      (Start . ,(exco-format-date-time start))
                      (End . ,(exco-format-date-time end)))))
                  nil nil nil nil)
diff --git a/excorporate.texi b/excorporate.texi
index c9e943e..3390c19 100644
--- a/excorporate.texi
+++ b/excorporate.texi
@@ -435,7 +435,9 @@ the asynchronous calls to avoid blocking Emacs during 
server operations.
 @noindent
 Here is a more complicated example that asynchronously queries the
 server for availability overlap for hacker1@@gnu.org and
-hacker2@@gnu.org, in the Eastern Time time zone.
+hacker2@@gnu.org, in the America/Toronto time zone.  Call
+@code{exco-time-zone} to calculate, from Emacs's internal time zone (see
+@code{current-time-zone}), the equivalent server time zone string.
 
 @example
 @group
@@ -469,6 +471,7 @@ hacker2@@gnu.org, in the Eastern Time time zone.
       (ExcludeConflicts . nil)))
     (FreeBusyViewOptions
      (TimeWindow
+      (StartTimeZone (Id . "Eastern Standard Time"))
       (StartTime . "2020-09-25T00:00:00Z")
       (EndTime . "2020-09-25T23:59:00Z"))
      (MergedFreeBusyIntervalInMinutes . 60)



reply via email to

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