diff --git a/weather/routes/index.js b/weather/routes/index.js index d53923daa..a3cbcc4c6 100644 --- a/weather/routes/index.js +++ b/weather/routes/index.js @@ -3,6 +3,7 @@ const router = express.Router(); const fetch = require("node-fetch"); require('dotenv').config(); const OWM_API_KEY = process.env.OWM_API_KEY || 'invalid_key'; +const UNITS = process.env.UNITS || 'metric'; /* GET home page. */ router.get('/', function(req, res) { @@ -11,7 +12,7 @@ router.get('/', function(req, res) { router.post('/get_weather', async function (req,res) { let city = req.body.city; - let url = `http://api.openweathermap.org/data/2.5/weather?q=${city}&units=metric&appid=${OWM_API_KEY}`; + let url = `http://api.openweathermap.org/data/2.5/weather?q=${city}&units=${UNITS}&appid=${OWM_API_KEY}`; try { let data = await fetch(url); @@ -24,7 +25,8 @@ router.post('/get_weather', async function (req,res) { res.render('index', {weather: null, error: 'Error: Invalid API Key. Please see http://openweathermap.org/faq#error401 for more info.'}); } else { - res.render('index', {weather: weather, error: null}); + let unit_hex = (UNITS == 'imperial') ? '℉' : '℃'; + res.render('index', {weather: weather, error: null, units: unit_hex}); } } catch (err) { diff --git a/weather/views/index.pug b/weather/views/index.pug index 32cb7cee0..6ed604a1d 100644 --- a/weather/views/index.pug +++ b/weather/views/index.pug @@ -24,7 +24,7 @@ block content .panel.panel-primary .panel-heading Weather for: #{weather.name}, #{weather.sys.country} .panel-body - p Current Temperature => #{weather.main.temp} ℃, #{weather.weather[0].description} - p Humidity => #{weather.main.humidity} % - p Min => #{weather.main.temp_min} ℃ - p Max => #{weather.main.temp_max} ℃ \ No newline at end of file + p Current Temperature = #{weather.main.temp} !{units}, #{weather.weather[0].description} + p Humidity = #{weather.main.humidity} % + p Min = #{weather.main.temp_min} !{units} + p Max = #{weather.main.temp_max} !{units} \ No newline at end of file