[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/webpaste 6e116ea 166/298: Merge branch 'refactor-away-defv
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/webpaste 6e116ea 166/298: Merge branch 'refactor-away-defvars' |
Date: |
Thu, 9 Dec 2021 19:00:07 -0500 (EST) |
branch: elpa/webpaste
commit 6e116ea1e0d56456b1c7cacbce255105526b6c6a
Merge: 76d4ddb 62e0f33
Author: Elis Axelsson <elis.axelsson@gmail.com>
Commit: Elis Axelsson <elis.axelsson@gmail.com>
Merge branch 'refactor-away-defvars'
This refs #18
---
tests/test-webpaste-provider-creation.el | 24 +++++-----
webpaste.el | 80 ++++++++++++++++----------------
2 files changed, 52 insertions(+), 52 deletions(-)
diff --git a/tests/test-webpaste-provider-creation.el
b/tests/test-webpaste-provider-creation.el
index c4540e5..a7f5c3f 100644
--- a/tests/test-webpaste-provider-creation.el
+++ b/tests/test-webpaste-provider-creation.el
@@ -16,24 +16,24 @@
:uri "http://invalid-domain-name/";
:post-field "data"
:sync t
- :success-lambda (cl-function
- (lambda (&key data &allow-other-keys)
- (setq used-lambda "success")))
- :error-lambda (cl-function
- (lambda (&key error-thrown &allow-other-keys)
- (setq used-lambda "error")))))
+ :success-lambda (lambda () (cl-function
+ (lambda (&key data &allow-other-keys)
+ (setq used-lambda "success"))))
+ :error-lambda (lambda (&rest rest) (cl-function
+ (lambda (&key error-thrown
&allow-other-keys)
+ (setq used-lambda "error"))))))
(setq working-provider
(webpaste-provider
:uri "https://httpbin.org/status/200";
:post-field "data"
:sync t
- :success-lambda (cl-function
- (lambda (&key data &allow-other-keys)
- (setq used-lambda "success")))
- :error-lambda (cl-function
- (lambda (&key error-thrown &allow-other-keys)
- (setq used-lambda "error"))))))
+ :success-lambda (lambda () (cl-function
+ (lambda (&key data &allow-other-keys)
+ (setq used-lambda "success"))))
+ :error-lambda (lambda (&rest rest) (cl-function
+ (lambda (&key error-thrown
&allow-other-keys)
+ (setq used-lambda "error")))))))
(it
diff --git a/webpaste.el b/webpaste.el
index c1216e1..8ee39be 100644
--- a/webpaste.el
+++ b/webpaste.el
@@ -100,47 +100,48 @@ precalculated, and also available both for pre and post
request access.")
;;; Predefined error lambda for providers
-(defvar webpaste/providers-error-lambda
+(cl-defun webpaste/providers-error-lambda (&key text)
+ "Predefined error callback for providers that always does failover."
(cl-function (lambda (&key error-thrown &allow-other-keys)
(message "Got error: %S" error-thrown)
- (webpaste-paste-text text)))
- "Predefined error callback for providers that always does failover.")
+ (webpaste-paste-text text))))
-(defvar webpaste/providers-error-lambda-no-failover
+(cl-defun webpaste/providers-error-lambda-no-failover (&key text)
+ "Predefined error callback for providers that shouldn't do failover."
(cl-function (lambda (&key error-thrown &allow-other-keys)
- (message "Got error: %S" error-thrown)))
- "Predefined error callback for providers that shouldn't do failover.")
+ (message "Got error: %S" error-thrown))))
;;; Predefined success lambdas for providers
-(defvar webpaste/providers-success-location-header
+(cl-defun webpaste/providers-success-location-header ()
+ "Predefined success callback for providers returning a Location header."
(cl-function (lambda (&key response &allow-other-keys)
(when response
(webpaste-return-url
- (request-response-header response "Location")))))
- "Predefined success callback for providers returning a Location header.")
+ (request-response-header response "Location"))))))
-(defvar webpaste/providers-success-response-url
+(cl-defun webpaste/providers-success-response-url ()
+ "Predefined success callback for providers that and up with an URL somehow."
(cl-function (lambda (&key response &allow-other-keys)
(when response
(webpaste-return-url
- (request-response-url response)))))
- "Predefined success callback for providers that and up with an URL somehow.")
+ (request-response-url response))))))
-(defvar webpaste/providers-success-returned-string
+(cl-defun webpaste/providers-success-returned-string ()
+ "Predefined success callback for providers returning a string with URL."
(cl-function (lambda (&key data &allow-other-keys)
(when data
(setq data (replace-regexp-in-string "\n$" "" data))
(setq data (replace-regexp-in-string "\"" "" data))
- (webpaste-return-url data))))
- "Predefined success callback for providers returning a string with URL.")
+ (webpaste-return-url data)))))
-(defvar webpaste/providers-default-post-field-lambda
+(cl-defun webpaste/providers-default-post-field-lambda ()
+ "Predefined lambda for building post fields."
(cl-function (lambda (&key text
post-field
provider-uri
@@ -155,8 +156,7 @@ precalculated, and also available both for pre and post
request access.")
(if (and post-lang-field-name language-name)
;; Append language to the post-data
(cl-pushnew (cons post-lang-field-name language-name)
post-data))))
- post-data))
- "Predefined lambda for building post fields.")
+ post-data)))
@@ -183,8 +183,8 @@ precalculated, and also available both for pre and post
request access.")
(parser 'buffer-string)
(lang-overrides '())
(lang-uri-separator nil)
- (error-lambda
webpaste/providers-error-lambda)
- (post-field-lambda
webpaste/providers-default-post-field-lambda)
+ (error-lambda
'webpaste/providers-error-lambda)
+ (post-field-lambda
'webpaste/providers-default-post-field-lambda)
(sync nil))
"Function to create the lambda function for a provider.
@@ -257,16 +257,16 @@ Optional params:
;; Do request
(request uri
:type type
- :data (funcall post-field-lambda
+ :data (funcall (funcall post-field-lambda)
:text text
:provider-uri uri
:post-field post-field
:post-lang-field-name post-lang-field-name
:post-data post-data)
:parser parser
- :success success-lambda
+ :success (funcall success-lambda)
:sync sync
- :error error-lambda))))
+ :error (funcall error-lambda :text text)))))
@@ -278,7 +278,7 @@ Optional params:
:post-field "c"
:lang-uri-separator "/"
:lang-overrides '((emacs-lisp-mode . "elisp"))
- :success-lambda webpaste/providers-success-location-header))
+ :success-lambda 'webpaste/providers-success-location-header))
("ix.io"
,(webpaste-provider
@@ -286,7 +286,7 @@ Optional params:
:post-field "f:1"
:lang-uri-separator "/"
:lang-overrides '((emacs-lisp-mode . "elisp"))
- :success-lambda webpaste/providers-success-returned-string))
+ :success-lambda 'webpaste/providers-success-returned-string))
("sprunge.us"
,(webpaste-provider
@@ -294,7 +294,7 @@ Optional params:
:post-field "sprunge"
:lang-uri-separator "?"
:lang-overrides '((emacs-lisp-mode . "elisp"))
- :success-lambda webpaste/providers-success-returned-string))
+ :success-lambda 'webpaste/providers-success-returned-string))
("dpaste.com"
,(webpaste-provider
@@ -305,7 +305,7 @@ Optional params:
:post-field "content"
:post-lang-field-name "syntax"
:lang-overrides '((emacs-lisp-mode . "clojure"))
- :success-lambda webpaste/providers-success-location-header))
+ :success-lambda 'webpaste/providers-success-location-header))
("dpaste.de"
,(webpaste-provider
@@ -314,23 +314,23 @@ Optional params:
:post-field "content"
:post-lang-field-name "lexer"
:lang-overrides '((emacs-lisp-mode . "clojure"))
- :success-lambda webpaste/providers-success-returned-string))
+ :success-lambda 'webpaste/providers-success-returned-string))
("gist.github.com"
,(webpaste-provider
:uri "https://api.github.com/gists";
:post-field nil
- :post-field-lambda (cl-function (lambda (&key text &allow-other-keys)
- (let ((filename (or
(file-name-nondirectory (buffer-file-name)) "file.txt")))
- (json-encode `(("description" .
"Pasted from Emacs with webpaste.el")
- ("public" . "false")
- ("files" .
- ((,filename .
- (("content" .
,text))))))))))
- :success-lambda (cl-function (lambda (&key data &allow-other-keys)
- (when data
- (webpaste-return-url
- (cdr (assoc 'html_url
(json-read-from-string data)))))))))
+ :post-field-lambda (lambda () (cl-function (lambda (&key text
&allow-other-keys)
+ (let ((filename (or
(file-name-nondirectory (buffer-file-name)) "file.txt")))
+ (json-encode `(("description"
. "Pasted from Emacs with webpaste.el")
+ ("public" .
"false")
+ ("files" .
+ ((,filename .
+
(("content" . ,text)))))))))))
+ :success-lambda (lambda () (cl-function (lambda (&key data
&allow-other-keys)
+ (when data
+ (webpaste-return-url
+ (cdr (assoc 'html_url
(json-read-from-string data))))))))))
("paste.pound-python.org"
,(webpaste-provider
@@ -339,7 +339,7 @@ Optional params:
:post-field "code"
:post-lang-field-name "language"
:lang-overrides '((emacs-lisp-mode . "clojure"))
- :success-lambda webpaste/providers-success-response-url)))
+ :success-lambda 'webpaste/providers-success-response-url)))
"Define all webpaste.el providers.
Consists of provider name and lambda function to do the actuall call to the
- [nongnu] elpa/webpaste 7b84568 155/298: Avoid setq's in favor of let, (continued)
- [nongnu] elpa/webpaste 7b84568 155/298: Avoid setq's in favor of let, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 0c0e88a 079/298: Added basic structure of tests file, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 95289e5 082/298: Added .travis.yml config file, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 7c90bc5 090/298: Merge branch 'tarsius-master', ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste ec85d7d 092/298: Added unit test for static provider configuration, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 2c5eb3c 149/298: Fix broken build., ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste f161620 163/298: Refactored the success callbacks, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste dab97dd 130/298: Make post-fields-lambda take named parameters, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste f83fd7b 145/298: Added note about new provider to implement. This refs #7, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 62e0f33 165/298: Refactor default post field lambda, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 6e116ea 166/298: Merge branch 'refactor-away-defvars',
ELPA Syncer <=
- [nongnu] elpa/webpaste 1677cd2 171/298: Added stuff to Makefile to run integration tests, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 51a6a07 174/298: Fixed broken message format, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 6086556 180/298: Added integration tests for dpaste.com, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 44364f4 109/298: Rename parameter domain to uri for webpaste-provider, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 1a1144f 110/298: Exposed sync parameter of request for debugging/test purposes, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste d9529de 112/298: Replaced (if (eq VAR nil)) with (unless VAR), ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 1bfa9ec 120/298: Bump version for stable release and copyright year, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 6ea53d0 123/298: Added support for custom handler of how to build the post data for providers, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste aff4e42 124/298: The error-lambda now has a default value and is now optional, ELPA Syncer, 2021/12/09
- [nongnu] elpa/webpaste 2dc2206 126/298: Added github anonymous gists as provider. This fixes #8., ELPA Syncer, 2021/12/09