From cd62bb147b15d052d52c5dc0f6277902efa7a61e Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sun, 23 Jul 2023 17:01:24 +1000 Subject: Fixing copyright and flymake complaints. --- wiki-engine.el | 66 ++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 23 deletions(-) (limited to 'wiki-engine.el') diff --git a/wiki-engine.el b/wiki-engine.el index 74dbe15..c4de2e7 100644 --- a/wiki-engine.el +++ b/wiki-engine.el @@ -22,7 +22,7 @@ ;;; Commentary: ;; client to wiki engines, wiki server software. Each engine defines -;; how emacs interacts with the remote server, including how to +;; how Emacs interacts with the remote server, including how to ;; construct a url to fetch from. ;;; Code: @@ -40,70 +40,87 @@ (error "Nil wiki-site or wiki-title!")) (wiki-engine-html-url wiki-site wiki-title)) -(defun wiki-engine-mediawiki-fetch (wiki-site title) + +(defun wiki-engine-wiki-url (site title) + "Construct the url to fetch wiki of TITLE from SITE." + (let* ((site-info (alist-get site wiki-sites)) + (engine (plist-get site-info :engine)) + (base-url (plist-get site-info :base-url))) + (pcase engine + ('mediawiki (format "%s%s?action=raw" base-url title)) + ('moinmoin (format "%s%s?action=raw" base-url title)) + ('oddmuse (format "%s?action=download;id=%s" base-url title)) + (_ (error "Unknown engine: %s" engine))))) + +(defun wiki-engine-mediawiki-fetch (site-id title) "Fetch a mediawiki entry describing TITLE. -The site handle is passed as a symbol WIKI-SITE." - (let ((wiki-site-info (alist-get wiki-site wiki-sites))) +The site handle is passed as a symbol SITE-ID." + (let ((wiki-site-info (alist-get site-id wiki-sites))) (cl-assert (eq (plist-get wiki-site-info :engine) 'mediawiki)) (when (string-empty-p title) (setq title "Main Page")) (unless (and wiki-fetch-prefer-local (wiki-find-file title - (wiki-locate-dir wiki-site))) + (wiki-locate-dir site-id))) (wiki-fetch-url (format "%s%s?action=raw" (plist-get wiki-site-info :base-url) title) - (wiki-locate-dir wiki-site) + (wiki-locate-dir site-id) (lambda () (wiki-mode) - (setq-local wiki-site wiki-site + (setq-local wiki-site site-id wiki-title title) ) )))) -(defun wiki-engine-oddmuse-fetch (wiki-site title) - (let ((wiki-site-info (alist-get wiki-site wiki-sites))) +(defun wiki-engine-oddmuse-fetch (site-id title) + "Fetch an oddmuse entry describing TITLE. + +The site handle is passed as a symbol SITE-ID." + (let ((wiki-site-info (alist-get site-id wiki-sites))) (cl-assert (eq (plist-get wiki-site-info :engine) 'oddmuse)) (unless (and wiki-fetch-prefer-local (wiki-find-file title - (wiki-locate-dir wiki-site))) + (wiki-locate-dir site-id))) (wiki-fetch-url (format "%s?action=download;id=%s" (plist-get wiki-site-info :base-url) title) - (wiki-locate-dir wiki-site) + (wiki-locate-dir site-id) (lambda () (wiki-mode) - (setq-local wiki-site wiki-site + (setq-local wiki-site site-id wiki-title title) ) title)))) -(defun wiki-engine-moinmoin-fetch (wiki-site title) - (let ((wiki-site-info (alist-get wiki-site wiki-sites))) +(defun wiki-engine-moinmoin-fetch (site-id title) + "Fetch a moinmoin entry describing TITLE. + +The site handle is passed as a symbol SITE-ID." + (let ((wiki-site-info (alist-get site-id wiki-sites))) (cl-assert (eq (plist-get wiki-site-info :engine) 'moinmoin)) (unless (and wiki-fetch-prefer-local (wiki-find-file title - (wiki-locate-dir wiki-site))) + (wiki-locate-dir site-id))) (wiki-fetch-url (format "%s%s?action=raw" (plist-get wiki-site-info :base-url) title) - (wiki-locate-dir wiki-site) + (wiki-locate-dir site-id) (lambda () (wiki-mode) - (setq-local wiki-site wiki-site - wiki-title title) - ) + (setq-local wiki-site site-id + wiki-title title)) title)))) -(defun wiki-locate-dir (wiki-site) - "Locate the directory for a WIKI-SITE." - (expand-file-name (format "%s" wiki-site) wiki-local-dir)) +(defun wiki-locate-dir (site-id) + "Locate the directory for a SITE-ID." + (expand-file-name (format "%s" site-id) wiki-local-dir)) (defun wiki-find-file (title &optional dir create-if-not-exists extension) @@ -111,7 +128,8 @@ The site handle is passed as a symbol WIKI-SITE." Returns the file-name if success, and nil otherwise. If CREATE-IF-NOT-EXISTS is non-nil, creates the file is not found. -DIR defaults to `default-directory'." +DIR defaults to `default-directory'. +EXTENSION is the file extension." (interactive (list (read-file-name "Find wiki file: "))) (unless dir (setq dir default-directory)) (let ((file-name (expand-file-name @@ -127,10 +145,12 @@ DIR defaults to `default-directory'." (defalias #'wiki-local-fetch #'wiki-find-file) (defun wiki-engine-fetcher (wiki-site-info) + "Return the fetcher for the engine of WIKI-SITE-INFO." (intern (format "wiki-engine-%s-fetch" (plist-get wiki-site-info :engine)))) (defmacro defun-wiki-fetchers () + "Defines all wiki fetcher functions." (cons 'progn (mapcar (lambda (pair) -- cgit v1.2.3