help-debbugs
[Top][All Lists]
Advanced

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

[PATCH v3 8/8] Download WSDL specification dynamically from selected ser


From: Felix Lechner
Subject: [PATCH v3 8/8] Download WSDL specification dynamically from selected server.
Date: Mon, 18 Mar 2024 06:07:09 -0700

Implements caching, but sets the default expiration to "never."

* debbugs.el: Download WSDL specification dynamically from selected
server.
---
 debbugs.el | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/debbugs.el b/debbugs.el
index 5804752d77..0dae52509b 100644
--- a/debbugs.el
+++ b/debbugs.el
@@ -98,6 +98,13 @@ This corresponds to the Debbugs server to be accessed, either
        (file-name-directory load-file-name)
       default-directory))))
 
+(defun debbugs-download-soap-wsdl ()
+  "Download the WSDL object describing the SOAP interface."
+  (let* ((selected-server (alist-get debbugs-port debbugs-servers
+                                     nil nil #'equal))
+         (wsdl-url (plist-get selected-server :wsdl)))
+    (soap-load-wsdl wsdl-url)))
+
 (defvar debbugs-wsdl-cache-alist nil
   "Cache of WSDL objects for SOAP access.")
 
@@ -124,8 +131,6 @@ t or 0 disables caching, nil disables expiring."
                      'integer)))
            (< age debbugs-wsdl-cache-expiry)))))
 
-;; It would be nice if we could retrieve it from the debbugs server.
-;; Not supported yet.
 (defun debbugs-get-soap-wsdl ()
   "Return the cached WSDL object describing the SOAP interface, or
 reload it if the cache expired."
@@ -142,8 +147,7 @@ reload it if the cache expired."
                                 ((string= "debian.org" debbugs-port)
                                  (debbugs-read-soap-wsdl-file
                                   "Debbugs-debian.wsdl"))
-                                (error "Unknown Debbugs port %s"
-                                       debbugs-port)))))
+                                (t (debbugs-download-soap-wsdl))))))
     (if (or (eq debbugs-wsdl-cache-expiry t)
             (eq debbugs-wsdl-cache-expiry 0))
         (progn
-- 
2.41.0




reply via email to

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