aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2023-04-12 00:45:40 -0700
committerGravatar Tom Willemse2023-04-12 00:45:40 -0700
commit6016689a7448e69ecf41072c69eb048bdaceb1b2 (patch)
tree5a516020a78737631feb62f4fd2e931ee6643733
parent91488f1358d66c93723430b4ff1484f6528e2c92 (diff)
downloadtekuti-el-6016689a7448e69ecf41072c69eb048bdaceb1b2.tar.gz
tekuti-el-6016689a7448e69ecf41072c69eb048bdaceb1b2.zip
Store and use the update path for a post once it's been created
This way I can keep sending the post to update it in place.
-rw-r--r--tekuti.el18
1 files changed, 16 insertions, 2 deletions
diff --git a/tekuti.el b/tekuti.el
index 7140c39..9d4e12c 100644
--- a/tekuti.el
+++ b/tekuti.el
@@ -109,11 +109,23 @@
(null (alist-get key data nil nil #'string=))
(not (null value)))
(insert "#+" key ": " value "\n"))))
- args))))
+ args))
+ (unless (tekuti--get-update-url)
+ (insert "#+UPDATE_URL: "
+ (string-replace "/posts/"
+ "/modify-post/"
+ (car (url-path-and-query
+ (url-generic-parse-url url))))
+ "\n"))))
(message "Created new post: %s" url))
(`(:error (error http ,code) . ,_)
(message "Failed to create post: %d" code))))
+(defun tekuti--get-update-url ()
+ (save-excursion
+ (goto-char (point-min))
+ (car (map-elt (org-collect-keywords '("UPDATE_URL")) "UPDATE_URL"))))
+
;;;###autoload
(defun tekuti-send ()
(interactive)
@@ -122,7 +134,9 @@
(url-request-extra-headers
`(("Content-Type" . "application/x-www-form-urlencoded")))
(url-request-data (tekuti-form-encode-data data)))
- (url-retrieve (format "%s/admin/new-post" tekuti-host)
+ (url-retrieve (format "%s%s" tekuti-host
+ (or (tekuti--get-update-url)
+ "/admin/modify-post"))
#'tekuti--send-finished
(list (current-buffer) data))))