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

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

[nongnu] elpa/webpaste e11ce74 086/298: Refactor provider priority to ow


From: ELPA Syncer
Subject: [nongnu] elpa/webpaste e11ce74 086/298: Refactor provider priority to own function
Date: Thu, 9 Dec 2021 18:59:50 -0500 (EST)

branch: elpa/webpaste
commit e11ce74a8c8e6c41966a8dd797b9fdf66107e4f4
Author: Elis Axelsson <elis.axelsson@gmail.com>
Commit: Elis Axelsson <elis.axelsson@gmail.com>

    Refactor provider priority to own function
---
 test/webpaste-test.el | 12 ++++++++++++
 webpaste.el           | 26 +++++++++++++++-----------
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/test/webpaste-test.el b/test/webpaste-test.el
index 986589c..7bd414b 100644
--- a/test/webpaste-test.el
+++ b/test/webpaste-test.el
@@ -4,6 +4,18 @@
 (require 'ert)
 (require 'webpaste)
 
+(ert-deftest webpaste-autopupulate-provider-priority ()
+  "Test autopopulate of webpaste-provider-priority."
+
+  (setq-default webpaste-provider-priority nil)
+  (setq-default webpaste-providers-alist
+                (list (list "provider1" "lamba")
+                      (list "provider2" "lamba")
+                      (list "provider3" "lamba")))
+
+  (should (equal (webpaste--get-provider-priority)
+                 '("provider1" "provider2" "provider3"))))
+
 
 (ert-deftest callback-from-working-provider ()
   "This test just sends a message to a good provider that just works."
diff --git a/webpaste.el b/webpaste.el
index 96ce305..9275913 100644
--- a/webpaste.el
+++ b/webpaste.el
@@ -156,6 +156,20 @@ return it to the user."
   :type  '(alist :key-type (string :tag "provider name")
                  :value-type (sexp :tag "webpaste-provider macro definition 
for the provider")))
 
+(defun webpaste--get-provider-priority ()
+  "Return provider priority."
+
+  ;; Populate webpaste-provider-priority if needed
+  (if (eq webpaste-provider-priority nil)
+      (let ((provider-names))
+        ;; Loop provider list
+        (dolist (provider webpaste-providers-alist)
+          (cl-pushnew (car provider) provider-names))
+
+        ;; Set names list
+        (setq-default webpaste-provider-priority (reverse provider-names))))
+
+  webpaste-provider-priority)
 
 ;;;###autoload
 (defun webpaste-return-url (returned-url)
@@ -188,19 +202,9 @@ might call this function again with TEXT as param to retry 
if it failed.
 When we run out of providers to try, it will restart since
 ‘webpaste-tested-providers’ will be empty and then populated again."
 
-  ;; Populate webpaste-provider-priority if needed
-  (if (eq webpaste-provider-priority nil)
-      (let ((provider-names))
-        ;; Loop provider list
-        (dolist (provider webpaste-providers-alist)
-          (cl-pushnew (car provider) provider-names))
-
-        ;; Set names list
-        (setq-default webpaste-provider-priority (reverse provider-names))))
-
   ;; Populate tested providers for this request if needed
   (if (eq webpaste-tested-providers nil)
-      (setq webpaste-tested-providers webpaste-provider-priority))
+      (setq webpaste-tested-providers (webpaste--get-provider-priority)))
 
   ;; Get name of provider at the top of the list
   (let ((provider-name (car webpaste-tested-providers)))



reply via email to

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