diff options
| -rw-r--r-- | README.md | 9 | ||||
| -rw-r--r-- | wttrin.el | 15 |
2 files changed, 23 insertions, 1 deletions
@@ -7,6 +7,11 @@ Emacs frontend for weather web service [wttr.in]. +This fork has the following patches applied (still outstanding in bcbcarl/emacs-wttrin): +- patch for selecting the unit system: https://github.com/bcbcarl/emacs-wttrin/pull/10 +- patch for url request to return ascii rather than html https://github.com/bcbcarl/emacs-wttrin/pull/18 +- patch to use https instead of http: https://github.com/bcbcarl/emacs-wttrin/pull/15 + ## Usage Set a default cities list for completion: @@ -20,7 +25,11 @@ You can also specify default HTTP request Header for Accept-Language: ```elisp (setq wttrin-default-accept-language '("Accept-Language" . "zh-TW")) ``` +As well as the unit system, "m" for metric and "u" for USCS/imperial (the default is to choose based on your location): +```elisp +(setq wttrin-unit-system "m") +``` Then run `M-x wttrin` to get the information. When the weather is displayed you can press `q` to quit the buffer or `g` to query for another city. @@ -33,13 +33,26 @@ :type '(list) ) +(defcustom wttrin-unit-system nil + "Specify the units. use 'm' for 'metric', 'u' for 'USCS, or +nil for location based units (the default)" + :group 'wttrin + :type 'string + ) + +(defun wttrin-additional-url-params () + "Concatenate any extra stuff into the URL here." + (concat "?" wttrin-unit-system) + ) + + (defun wttrin-fetch-raw-string (query) "Get the weather information based on your QUERY." (let ((url-user-agent "curl")) (add-to-list 'url-request-extra-headers wttrin-default-accept-language) (with-current-buffer (url-retrieve-synchronously - (concat "https://wttr.in/" query "?A") + (concat "http://wttr.in/" query (wttrin-additional-url-params)) (lambda (status) (switch-to-buffer (current-buffer)))) (decode-coding-string (buffer-string) 'utf-8)))) |
