emacs-elpa-diffs
[Top][All Lists]
Advanced

[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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]