[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 01/01: [metar] Make the length unit configurable (clouds) and sim
From: |
Mario Lang |
Subject: |
[elpa] 01/01: [metar] Make the length unit configurable (clouds) and simplify pressure conversion |
Date: |
Thu, 29 May 2014 12:41:12 +0000 |
mlang pushed a commit to branch master
in repository elpa.
commit d08069bc34c129b5a4be2e8c90271eb2f6bffd50
Author: Mario Lang <address@hidden>
Date: Thu May 29 14:40:32 2014 +0200
[metar] Make the length unit configurable (clouds) and simplify pressure
conversion
---
packages/metar/metar.el | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/packages/metar/metar.el b/packages/metar/metar.el
index 5c4410a..60bc129 100644
--- a/packages/metar/metar.el
+++ b/packages/metar/metar.el
@@ -43,7 +43,9 @@
(require 'solar)
(require 'url)
-(defvar metar-units '((speed . kph) (pressure . bar)))
+(defvar metar-units '((length . m)
+ (pressure . bar)
+ (speed . kph)))
(defvar metar-stations-info-url "http://weather.noaa.gov/data/nsd_bbsss.txt"
"URL to use for retrieving station meta information.")
@@ -247,7 +249,9 @@ If no record was found for STATION, nil is returned."
(while (string-match metar-could-regexp info from)
(setq from (match-end 0)
clouds (push (append (list (match-string 1 info)
- (string-to-number (match-string 2 info)))
+ (metar-convert-unit
+ (concat (match-string 2 info) " ft")
+ (cdr (assq 'length metar-units))))
(when (match-string 3 info)
(list (match-string 3 info))))
clouds)))
@@ -369,12 +373,12 @@ If no record was found for STATION, nil is returned."
(defun metar-pressure (info)
(when (string-match metar-pressure-regexp info)
- (metar-convert-unit (cond
- ((string= (match-string 1 info) "Q")
- (concat "(" (match-string 2 info) " / 1000) bar"))
- ((string= (match-string 1 info) "A")
- (concat "(" (match-string 2 info) " / 100) inHg")))
- (cdr (assq 'pressure metar-units)))))
+ (metar-convert-unit
+ (concat (match-string 2 info)
+ (cond
+ ((string= (match-string 1 info) "Q") "hPa")
+ ((string= (match-string 1 info) "A") "cinHg")))
+ (cdr (assq 'pressure metar-units)))))
(defun metar-decode (record)
"Return a lisp structure describing the weather information in RECORD."