diff --git a/app/app.js b/app/app.js index c7a48a7..dbeeb9c 100644 --- a/app/app.js +++ b/app/app.js @@ -1,46 +1,5 @@ (function() { - - let formatPassword = function(data) { - let dest$ = $('#passwordOut'); - let html = new EJS({url: '/template/password.ejs'}).render(data); - dest$.empty(); - dest$.append(html); - dest$.show(); - }; - - let generatePassword = function(from, to) { - let url = '/generate'; - - $.ajax({ - type: 'GET', - url: url, - data: '', - dataType: 'json', - - timeout: 10000, - - headers: { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS', - 'Access-Control-Allow-Headers': 'Content-Type' - - }, - success: function(data) { - formatPassword(data); - }, - error: function(xhr, type) { - console.log('ajax error'); - console.log(xhr); - console.log(type); - } - }); - }; - - $('#newPassword').on('click', function() { - generatePassword(); - }); - - document.title = 'Slack'; + document.title = 'Slack'; })(); let popitout = function(url) { diff --git a/app/js/modules/password.js b/app/js/modules/password.js new file mode 100644 index 0000000..e265105 --- /dev/null +++ b/app/js/modules/password.js @@ -0,0 +1,72 @@ +/** + * Created by mdonnel on 20/04/2017. + */ +Array.prototype.random = function () { + return this[Math.floor((Math.random() * this.length))]; +}; + +let PasswordView = Backbone.View.extend({ + el: $('#passwords'), + + initialize: function () { + this.alpha = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + this.whitespace = ['.', '~', '#', '!', '$', '+', '-', '+']; + this.numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + this.left = ['Alabama', + 'Alaska', + 'Arizona', + 'Maryland', + 'Nevada', + 'Mexico', + 'Texas', + 'Utah', + 'Glasgow', + 'Inverness', + 'Edinburgh', + 'Dumbarton', + 'Balloch', + 'Renton', + 'Cardross', + 'Dundee', + 'Paisley', + 'Hamilton', + 'Greenock', + 'Falkirk', + 'Irvine', + 'Renfrew', + 'Erskine', + 'London', + 'Hammersmith', + 'Islington', + 'Silver', 'Black', 'Yellow', 'Purple', 'White', 'Pink', 'Red', 'Orange', 'Brown', 'Green', 'Blue', 'Amber', 'Aqua', 'Azure', 'Bronze', 'Coral', 'Copper', 'Crimson', 'Cyan', 'Ginger', 'Gold', 'Indigo', 'Jade' + + ]; + + this.right = ['Aganju', 'Cygni', 'Akeron', 'Antares', 'Aragoth', 'Ardus', 'Carpenter', 'Cooper', 'Dahin', 'Capella', 'Endriago', 'Gallina', 'Fenris', 'Freya', 'Glenn', 'Grissom', 'Jotunheim', 'Kailaasa', 'Lagarto', 'Muspelheim', 'Nifleheim', 'Primus', 'Vega', 'Ragnarok', 'Shepard', 'Slayton', 'Tarsis', 'Mercury', 'Venus', 'Mars', 'Earth', 'Terra', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto', 'Europa', 'Ganymede', 'Callisto', 'Titan', 'Juno', 'Eridanus', 'Scorpius', 'Crux', 'Cancer', 'Taurus', 'Lyra', 'Andromeda', 'Virgo', 'Aquarius', 'Cygnus', 'Corvus', 'Taurus', 'Draco', 'Perseus', 'Pegasus', 'Gemini', 'Columbia', 'Bootes', 'Orion', 'Deneb', 'Merope', 'Agate', 'Amber', 'Beryl', 'Calcite', 'Citrine', 'Coral', 'Diamond', 'Emerald', 'Garnet', 'Jade', 'Lapis', 'Moonstone', 'Obsidian', 'Onyx', 'Opal', 'Pearl', 'Quartz', 'Ruby', 'Sapphire', 'Topaz', 'Iron', 'Lead', 'Nickel', 'Copper', 'Zinc', 'Tin', 'Manes', 'Argon', 'Neon', 'Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot', 'Golf', 'Hotel', 'India', 'Juliett', 'Kilo', 'Lima', 'Mike', 'November', 'Oscar', 'Papa', 'Quebec', 'Romeo', 'Sierra', 'Tango', 'Uniform', 'Victor', 'Whisky', 'Xray', 'Yankee', 'Zulu']; + _.bindAll(this, 'newClick'); + }, + events: { + 'click #newPassword': 'newClick' + }, + numberCluster: function () { + return this.numbers.random() + this.numbers.random() + this.numbers.random(); + }, + randomAmount: function (i) { + let str = ''; + + for (let t = 0; t < i; t++) { + str = str + this.alpha.random(); + } + + return str; + }, + newClick: function () { + let $passwordOut = $('#passwordOut'); + let long = (this.left.random() + ' ' + this.right.random() + ' ' + this.numberCluster()).split(' ').join(this.whitespace.random()); + let short = (this.randomAmount(5) + ' ' + this.randomAmount(5)).split(' ').join(this.whitespace.random()); + + let template = `
Long: ${long}
Short: ${short}
`; + $passwordOut.empty().append(template).removeClass('mui--hide'); + } +}); + diff --git a/app/live/fonts/Roboto_Condensed-normal-400.woff b/app/live/fonts/Roboto_Condensed-normal-400.woff index d1dc4de..71d860b 100644 Binary files a/app/live/fonts/Roboto_Condensed-normal-400.woff and b/app/live/fonts/Roboto_Condensed-normal-400.woff differ diff --git a/app/live/js/app.js b/app/live/js/app.js index fe6c51c..7f4083a 100644 --- a/app/live/js/app.js +++ b/app/live/js/app.js @@ -1 +1 @@ -"use strict";var BitcoinModel,Bitcoin,FxModel,FxView,_typeof,TrainModel,TrainView,WeatherModel,Weather,WeatherSlim,popitout,popitoutSmall,EventModel=Backbone.Model.extend({initialize:function(){this.update()},getDays:function(t,e){var i=void 0,n=void 0;return i=t.getTime(),n=e.getTime(),(n-i)/864e5},update:function(){var t,e=new Date,i=36e5-e.getTime()%36e5,n={};n.days=Math.ceil(this.getDays(e,this.get("event"))),n.weeks=Math.ceil(this.getDays(e,this.get("event"))/7),this.set("data",n),t=function(){this.update()},setTimeout(t.bind(this),i+10)}}),EventView=Backbone.View.extend({tagName:"div",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render),this.id="e_"+Math.random().toString(36).substr(2,9),this.$events=$("#events"),this.$myEvent=null,this.$el=this.$events,this.initView(),this.render()},render:function(){var t=this.model.get("label"),e=this.model.get("data"),i=t+" "+e.days+" days / "+e.weeks+" weeks";this.$myEvent.empty().append(i)},initView:function(){var t="
';this.$html=$(t),this.$events.append(this.$html),this.$myEvent=$("#"+this.id)}});BitcoinModel=Backbone.Model.extend({initialize:function(){this.set("url","/btc");var t={lastGBP:0,lastUSD:0,lows:{gbp:0,usd:0},highs:{gbp:0,usd:0},eclass:""};this.set("btcdata",t),this.update()},update:function(){var t,e,i;this.getBTC(),t=new Date,e=6e4-t.getTime()%6e4,i=function(){this.update()},setTimeout(i.bind(this),e+10)},recalc:function(){var t=this.get("btcdata"),e=t.lastGBP,i=void 0,n=t.gbp,s=t.usd,o=t.lows,a=t.highs,r=t.eclass;0!==t.lastGBP?r=n>e?"up":"down":(o.gbp=n,o.usd=s,a.gbp=n,a.usd=s),e=n,i=s,n"+E.locationName+" TO "+E.filterLocationName+'\n \n \n \n \n \n ',"object"===_typeof(E.trainServices)&&null!==E.trainServices){e=!0,i=!1,n=void 0;try{for(s=E.trainServices[Symbol.iterator]();!(e=(o=s.next()).done);e=!0)a=o.value,r=a.destination[0],l=null!==r.via?""+r.via+"":"",d=null!==a.platform?a.platform:"💠",c=null!==a.sta?a.sta:"D "+a.std,h=null!==a.eta?a.eta:a.etd,t=a.isCancelled?t+"\n \n \n \n \n ":t+"\n \n \n \n \n "}catch(t){i=!0,n=t}finally{try{!e&&s.return&&s.return()}finally{if(i)throw n}}}if("object"===_typeof(E.busServices)&&null!==E.busServices){u=!0,m=!1,p=void 0;try{for(f=E.busServices[Symbol.iterator]();!(u=(g=f.next()).done);u=!0)b=g.value,v=b.destination[0],w=null!==v.via?""+v.via+"":"",y=null!==b.platform?b.platform:"",T=null!==b.sta?b.sta:"D "+b.std,$=null!==b.eta?b.eta:b.etd,t=t+"\n \n \n \n \n "}catch(t){m=!0,p=t}finally{try{!u&&f.return&&f.return()}finally{if(m)throw p}}}t+="
DestinationTimeStatusPlatform
"+r.locationName+" "+l+""+c+'❌ '+a.cancelReason+"
"+r.locationName+" "+l+""+c+""+h+""+d+"
🚌 "+v.locationName+" "+w+""+T+""+$+""+y+"
",this.$traintext.empty().html(t),this.$traintext.removeClass("mui--hide").addClass("mui--show")}else this.$traintext.removeClass("mui--show").addClass("mui--hide")},initView:function(){var t,e=this,i=this.model.get("target"),n="
"+i.toUpperCase()+':
';this.$html=$(n),this.$html.on("click",function(){e.model.getRoute()}),this.$trains.append(this.$html),this.$button=$("#"+i),t="click #$(target)",this.events[t]="showTrains"},showTrains:function(){}}),WeatherModel=Backbone.Model.extend({initialize:function(){var t=this.get("geo");this.set("url","https://api.darksky.net/forecast/9ad2a41d420f3cf4960571bb886f710c/"+t.coords.latitude.toString()+","+t.coords.longitude.toString()+"?units=uk2&exclude=minutely,hourly,alerts,flags"),this.update()},update:function(){var t,e,i;this.getWeather(),t=new Date,e=18e5-t.getTime()%18e5,i=function(){this.update()},setTimeout(i.bind(this),e+10)},getWeather:function(){var t=this;$.ajax({type:"GET",url:t.get("url"),data:"",dataType:"jsonp",timeout:1e4,context:$("body"),contentType:"application/json",headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"PUT, GET, POST, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type"},success:function(e){var i={temperature:e.currently.temperature,icon:e.currently.icon,summary:e.currently.summary,daily:e.daily.summary};t.set(i)},error:function(t,e){}})}}),Weather=Backbone.View.extend({tagName:"div",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render),this.$weatherText=$("#weatherDescription"),this.$weatherTemp=$("#temp"),this.$weatherIcon=$("#weatherIcon")},render:function(){var t='';this.$weatherTemp.empty().html(parseInt(this.model.get("temperature"))+"°c "),this.$weatherText.empty().html(this.model.get("summary")),this.$weatherIcon.empty().html(t)}}),WeatherSlim=Backbone.View.extend({tagName:"div",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render),this.$weather=$("#weather"),this.render()},render:function(){var t=this.model.get("summary"),e=this.model.get("temperature"),i=this.model.get("daily"),n=t+" "+e+"° "+i+"";this.$weather.empty().html(n)}}),function(){var t=function(t){var e=$("#passwordOut"),i=new EJS({url:"/template/password.ejs"}).render(t);e.empty(),e.append(i),e.show()},e=function(e,i){$.ajax({type:"GET",url:"/generate",data:"",dataType:"json",timeout:1e4,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"PUT, GET, POST, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type"},success:function(e){t(e)},error:function(t,e){}})};$("#newPassword").on("click",function(){e()}),document.title="Slack"}(),popitout=function(t){var e=window.open(t,"name","height=600,width=570");return window.focus&&e.focus(),!1},popitoutSmall=function(t){var e=window.open(t,"name","height=400,width=520");return window.focus&&e.focus(),!1}; \ No newline at end of file +"use strict";var BitcoinModel,Bitcoin,FxModel,FxView,_typeof,TrainModel,TrainView,WeatherModel,Weather,WeatherSlim,PasswordView,popitout,popitoutSmall,EventModel=Backbone.Model.extend({initialize:function(){this.update()},getDays:function(t,e){var i=void 0,n=void 0;return i=t.getTime(),n=e.getTime(),(n-i)/864e5},update:function(){var t,e=new Date,i=36e5-e.getTime()%36e5,n={};n.days=Math.ceil(this.getDays(e,this.get("event"))),n.weeks=Math.ceil(this.getDays(e,this.get("event"))/7),this.set("data",n),t=function(){this.update()},setTimeout(t.bind(this),i+10)}}),EventView=Backbone.View.extend({tagName:"div",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render),this.id="e_"+Math.random().toString(36).substr(2,9),this.$events=$("#events"),this.$myEvent=null,this.$el=this.$events,this.initView(),this.render()},render:function(){var t=this.model.get("label"),e=this.model.get("data"),i=t+" "+e.days+" days / "+e.weeks+" weeks";this.$myEvent.empty().append(i)},initView:function(){var t="
';this.$html=$(t),this.$events.append(this.$html),this.$myEvent=$("#"+this.id)}});BitcoinModel=Backbone.Model.extend({initialize:function(){this.set("url","/btc");var t={lastGBP:0,lastUSD:0,lows:{gbp:0,usd:0},highs:{gbp:0,usd:0},eclass:""};this.set("btcdata",t),this.update()},update:function(){var t,e,i;this.getBTC(),t=new Date,e=6e4-t.getTime()%6e4,i=function(){this.update()},setTimeout(i.bind(this),e+10)},recalc:function(){var t=this.get("btcdata"),e=t.lastGBP,i=void 0,n=t.gbp,a=t.usd,s=t.lows,o=t.highs,r=t.eclass;0!==t.lastGBP?r=n>e?"up":"down":(s.gbp=n,s.usd=a,o.gbp=n,o.usd=a),e=n,i=a,n"+k.locationName+" TO "+k.filterLocationName+'\n \n \n \n \n \n ',"object"===_typeof(k.trainServices)&&null!==k.trainServices){e=!0,i=!1,n=void 0;try{for(a=k.trainServices[Symbol.iterator]();!(e=(s=a.next()).done);e=!0)o=s.value,r=o.destination[0],l=null!==r.via?""+r.via+"":"",d=null!==o.platform?o.platform:"💠",h=null!==o.sta?o.sta:"D "+o.std,u=null!==o.eta?o.eta:o.etd,t=o.isCancelled?t+"\n \n \n \n \n ":t+"\n \n \n \n \n "}catch(t){i=!0,n=t}finally{try{!e&&a.return&&a.return()}finally{if(i)throw n}}}if("object"===_typeof(k.busServices)&&null!==k.busServices){c=!0,m=!1,p=void 0;try{for(g=k.busServices[Symbol.iterator]();!(c=(f=g.next()).done);c=!0)b=f.value,v=b.destination[0],w=null!==v.via?""+v.via+"":"",y=null!==b.platform?b.platform:"",T=null!==b.sta?b.sta:"D "+b.std,$=null!==b.eta?b.eta:b.etd,t=t+"\n \n \n \n \n "}catch(t){m=!0,p=t}finally{try{!c&&g.return&&g.return()}finally{if(m)throw p}}}t+="
DestinationTimeStatusPlatform
"+r.locationName+" "+l+""+h+'❌ '+o.cancelReason+"
"+r.locationName+" "+l+""+h+""+u+""+d+"
🚌 "+v.locationName+" "+w+""+T+""+$+""+y+"
",this.$traintext.empty().html(t),this.$traintext.removeClass("mui--hide").addClass("mui--show")}else this.$traintext.removeClass("mui--show").addClass("mui--hide")},initView:function(){var t,e=this,i=this.model.get("target"),n="
"+i.toUpperCase()+':
';this.$html=$(n),this.$html.on("click",function(){e.model.getRoute()}),this.$trains.append(this.$html),this.$button=$("#"+i),t="click #$(target)",this.events[t]="showTrains"},showTrains:function(){}}),WeatherModel=Backbone.Model.extend({initialize:function(){var t=this.get("geo");this.set("url","https://api.darksky.net/forecast/9ad2a41d420f3cf4960571bb886f710c/"+t.coords.latitude.toString()+","+t.coords.longitude.toString()+"?units=uk2&exclude=minutely,hourly,alerts,flags"),this.update()},update:function(){var t,e,i;this.getWeather(),t=new Date,e=18e5-t.getTime()%18e5,i=function(){this.update()},setTimeout(i.bind(this),e+10)},getWeather:function(){var t=this;$.ajax({type:"GET",url:t.get("url"),data:"",dataType:"jsonp",timeout:1e4,context:$("body"),contentType:"application/json",headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"PUT, GET, POST, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type"},success:function(e){var i={temperature:e.currently.temperature,icon:e.currently.icon,summary:e.currently.summary,daily:e.daily.summary};t.set(i)},error:function(t,e){}})}}),Weather=Backbone.View.extend({tagName:"div",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render),this.$weatherText=$("#weatherDescription"),this.$weatherTemp=$("#temp"),this.$weatherIcon=$("#weatherIcon")},render:function(){var t='';this.$weatherTemp.empty().html(parseInt(this.model.get("temperature"))+"°c "),this.$weatherText.empty().html(this.model.get("summary")),this.$weatherIcon.empty().html(t)}}),WeatherSlim=Backbone.View.extend({tagName:"div",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render),this.$weather=$("#weather"),this.render()},render:function(){var t=this.model.get("summary"),e=this.model.get("temperature"),i=this.model.get("daily"),n=t+" "+e+"° "+i+"";this.$weather.empty().html(n)}}),Array.prototype.random=function(){return this[Math.floor(Math.random()*this.length)]},PasswordView=Backbone.View.extend({el:$("#passwords"),initialize:function(){this.alpha=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9"],this.whitespace=[".","~","#","!","$","+","-","+"],this.numbers=["0","1","2","3","4","5","6","7","8","9"],this.left=["Alabama","Alaska","Arizona","Maryland","Nevada","Mexico","Texas","Utah","Glasgow","Inverness","Edinburgh","Dumbarton","Balloch","Renton","Cardross","Dundee","Paisley","Hamilton","Greenock","Falkirk","Irvine","Renfrew","Erskine","London","Hammersmith","Islington","Silver","Black","Yellow","Purple","White","Pink","Red","Orange","Brown","Green","Blue","Amber","Aqua","Azure","Bronze","Coral","Copper","Crimson","Cyan","Ginger","Gold","Indigo","Jade"],this.right=["Aganju","Cygni","Akeron","Antares","Aragoth","Ardus","Carpenter","Cooper","Dahin","Capella","Endriago","Gallina","Fenris","Freya","Glenn","Grissom","Jotunheim","Kailaasa","Lagarto","Muspelheim","Nifleheim","Primus","Vega","Ragnarok","Shepard","Slayton","Tarsis","Mercury","Venus","Mars","Earth","Terra","Jupiter","Saturn","Uranus","Neptune","Pluto","Europa","Ganymede","Callisto","Titan","Juno","Eridanus","Scorpius","Crux","Cancer","Taurus","Lyra","Andromeda","Virgo","Aquarius","Cygnus","Corvus","Taurus","Draco","Perseus","Pegasus","Gemini","Columbia","Bootes","Orion","Deneb","Merope","Agate","Amber","Beryl","Calcite","Citrine","Coral","Diamond","Emerald","Garnet","Jade","Lapis","Moonstone","Obsidian","Onyx","Opal","Pearl","Quartz","Ruby","Sapphire","Topaz","Iron","Lead","Nickel","Copper","Zinc","Tin","Manes","Argon","Neon","Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliett","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whisky","Xray","Yankee","Zulu"],_.bindAll(this,"newClick")},events:{"click #newPassword":"newClick"},numberCluster:function(){return this.numbers.random()+this.numbers.random()+this.numbers.random()},randomAmount:function(t){var e,i="";for(e=0;e
Short: "+i+"
";t.empty().append(n).removeClass("mui--hide")}}),function(){document.title="Slack"}(),popitout=function(t){var e=window.open(t,"name","height=600,width=570");return window.focus&&e.focus(),!1},popitoutSmall=function(t){var e=window.open(t,"name","height=400,width=520");return window.focus&&e.focus(),!1}; \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 2e53e17..1432ad0 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -23,7 +23,7 @@ let dest = 'app/live'; let fontOptions = { }; gulp.task('appJS', function() { - return gulp.src(['app/js/modules/events.js', 'app/js/modules/bitcoin.js', 'app/js/modules/fx.js', 'app/js/modules/train.js','app/js/modules/weather.js', 'app/app.js']) + return gulp.src(['app/js/modules/events.js', 'app/js/modules/bitcoin.js', 'app/js/modules/fx.js', 'app/js/modules/train.js','app/js/modules/weather.js','app/js/modules/password.js', 'app/app.js']) .pipe(stripDebug()) .pipe(jshint('.jshintrc')) .pipe(jshint.reporter('default')) diff --git a/lib/newdata.json b/lib/newdata.json index 7a535aa..79ae73d 100644 --- a/lib/newdata.json +++ b/lib/newdata.json @@ -1 +1 @@ -{"last":1492506285344,"data":{"trains":{"last":"2017-04-18T09:02:27.613Z","data":[]},"weather":{"currently":"Mostly Cloudy. Around 0 to 11 degrees.","today":"Light rain starting in the evening.","later":"Mixed precipitation throughout the week, with temperatures falling to 7°C on Tuesday.","alerts":{},"data":{"latitude":55.95,"longitude":-4.566667,"timezone":"Europe/London","offset":1,"currently":{"time":1492506147,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","nearestStormDistance":6,"nearestStormBearing":227,"precipIntensity":0,"precipProbability":0,"temperature":5.57,"apparentTemperature":3.85,"dewPoint":0.47,"humidity":0.7,"windSpeed":4.91,"windBearing":83,"visibility":7.96,"cloudCover":0.78,"pressure":1033.48,"ozone":327.78},"minutely":{"summary":"Mostly cloudy for the hour.","icon":"partly-cloudy-day","data":[{"time":1492506120,"precipIntensity":0,"precipProbability":0},{"time":1492506180,"precipIntensity":0,"precipProbability":0},{"time":1492506240,"precipIntensity":0,"precipProbability":0},{"time":1492506300,"precipIntensity":0,"precipProbability":0},{"time":1492506360,"precipIntensity":0,"precipProbability":0},{"time":1492506420,"precipIntensity":0,"precipProbability":0},{"time":1492506480,"precipIntensity":0,"precipProbability":0},{"time":1492506540,"precipIntensity":0,"precipProbability":0},{"time":1492506600,"precipIntensity":0,"precipProbability":0},{"time":1492506660,"precipIntensity":0,"precipProbability":0},{"time":1492506720,"precipIntensity":0,"precipProbability":0},{"time":1492506780,"precipIntensity":0,"precipProbability":0},{"time":1492506840,"precipIntensity":0,"precipProbability":0},{"time":1492506900,"precipIntensity":0,"precipProbability":0},{"time":1492506960,"precipIntensity":0,"precipProbability":0},{"time":1492507020,"precipIntensity":0,"precipProbability":0},{"time":1492507080,"precipIntensity":0,"precipProbability":0},{"time":1492507140,"precipIntensity":0,"precipProbability":0},{"time":1492507200,"precipIntensity":0,"precipProbability":0},{"time":1492507260,"precipIntensity":0,"precipProbability":0},{"time":1492507320,"precipIntensity":0,"precipProbability":0},{"time":1492507380,"precipIntensity":0,"precipProbability":0},{"time":1492507440,"precipIntensity":0,"precipProbability":0},{"time":1492507500,"precipIntensity":0,"precipProbability":0},{"time":1492507560,"precipIntensity":0,"precipProbability":0},{"time":1492507620,"precipIntensity":0,"precipProbability":0},{"time":1492507680,"precipIntensity":0,"precipProbability":0},{"time":1492507740,"precipIntensity":0,"precipProbability":0},{"time":1492507800,"precipIntensity":0,"precipProbability":0},{"time":1492507860,"precipIntensity":0,"precipProbability":0},{"time":1492507920,"precipIntensity":0,"precipProbability":0},{"time":1492507980,"precipIntensity":0,"precipProbability":0},{"time":1492508040,"precipIntensity":0,"precipProbability":0},{"time":1492508100,"precipIntensity":0,"precipProbability":0},{"time":1492508160,"precipIntensity":0,"precipProbability":0},{"time":1492508220,"precipIntensity":0,"precipProbability":0},{"time":1492508280,"precipIntensity":0,"precipProbability":0},{"time":1492508340,"precipIntensity":0,"precipProbability":0},{"time":1492508400,"precipIntensity":0,"precipProbability":0},{"time":1492508460,"precipIntensity":0,"precipProbability":0},{"time":1492508520,"precipIntensity":0,"precipProbability":0},{"time":1492508580,"precipIntensity":0,"precipProbability":0},{"time":1492508640,"precipIntensity":0,"precipProbability":0},{"time":1492508700,"precipIntensity":0,"precipProbability":0},{"time":1492508760,"precipIntensity":0,"precipProbability":0},{"time":1492508820,"precipIntensity":0,"precipProbability":0},{"time":1492508880,"precipIntensity":0,"precipProbability":0},{"time":1492508940,"precipIntensity":0,"precipProbability":0},{"time":1492509000,"precipIntensity":0,"precipProbability":0},{"time":1492509060,"precipIntensity":0,"precipProbability":0},{"time":1492509120,"precipIntensity":0,"precipProbability":0},{"time":1492509180,"precipIntensity":0,"precipProbability":0},{"time":1492509240,"precipIntensity":0,"precipProbability":0},{"time":1492509300,"precipIntensity":0,"precipProbability":0},{"time":1492509360,"precipIntensity":0,"precipProbability":0},{"time":1492509420,"precipIntensity":0,"precipProbability":0},{"time":1492509480,"precipIntensity":0,"precipProbability":0},{"time":1492509540,"precipIntensity":0,"precipProbability":0},{"time":1492509600,"precipIntensity":0,"precipProbability":0},{"time":1492509660,"precipIntensity":0,"precipProbability":0},{"time":1492509720,"precipIntensity":0,"precipProbability":0}]},"hourly":{"summary":"Light rain starting this evening.","icon":"rain","data":[{"time":1492506000,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":5.57,"apparentTemperature":3.86,"dewPoint":0.51,"humidity":0.7,"windSpeed":4.9,"windBearing":82,"visibility":7.87,"cloudCover":0.78,"pressure":1033.48,"ozone":327.78},{"time":1492509600,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":6.63,"apparentTemperature":4.89,"dewPoint":0.39,"humidity":0.64,"windSpeed":5.4,"windBearing":95,"visibility":10,"cloudCover":0.79,"pressure":1033.55,"ozone":327.75},{"time":1492513200,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":7.75,"apparentTemperature":6.03,"dewPoint":0.85,"humidity":0.62,"windSpeed":6,"windBearing":109,"visibility":10,"cloudCover":0.78,"pressure":1033.53,"ozone":327.36},{"time":1492516800,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":8.82,"apparentTemperature":7.12,"dewPoint":1.35,"humidity":0.59,"windSpeed":6.61,"windBearing":119,"visibility":10,"cloudCover":0.78,"pressure":1033.5,"ozone":326.54},{"time":1492520400,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":10.03,"apparentTemperature":10.03,"dewPoint":2.26,"humidity":0.58,"windSpeed":6.61,"windBearing":125,"visibility":10,"cloudCover":0.79,"pressure":1033.43,"ozone":325.15},{"time":1492524000,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":11.04,"apparentTemperature":11.04,"dewPoint":3.12,"humidity":0.58,"windSpeed":6.42,"windBearing":128,"visibility":10,"cloudCover":0.79,"pressure":1033.33,"ozone":323.34},{"time":1492527600,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":11.69,"apparentTemperature":11.69,"dewPoint":3.62,"humidity":0.58,"windSpeed":6.15,"windBearing":134,"visibility":10,"cloudCover":0.8,"pressure":1033.26,"ozone":321.51},{"time":1492531200,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0.0254,"precipProbability":0.01,"precipType":"rain","temperature":10.96,"apparentTemperature":10.96,"dewPoint":3.44,"humidity":0.6,"windSpeed":6.05,"windBearing":132,"visibility":10,"cloudCover":0.8,"pressure":1033.25,"ozone":319.61},{"time":1492534800,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0.0991,"precipProbability":0.15,"precipType":"rain","temperature":9.96,"apparentTemperature":8.62,"dewPoint":3.29,"humidity":0.63,"windSpeed":6.11,"windBearing":132,"visibility":10,"cloudCover":0.8,"pressure":1033.27,"ozone":317.7},{"time":1492538400,"summary":"Light Rain","icon":"rain","precipIntensity":0.2769,"precipProbability":0.52,"precipType":"rain","temperature":8.92,"apparentTemperature":7.39,"dewPoint":3.16,"humidity":0.67,"windSpeed":6.1,"windBearing":130,"visibility":10,"cloudCover":0.8,"pressure":1033.35,"ozone":316.37},{"time":1492542000,"summary":"Drizzle","icon":"rain","precipIntensity":0.1422,"precipProbability":0.25,"precipType":"rain","temperature":8.09,"apparentTemperature":6.36,"dewPoint":3.14,"humidity":0.71,"windSpeed":6.25,"windBearing":126,"visibility":10,"cloudCover":0.87,"pressure":1033.51,"ozone":316.01},{"time":1492545600,"summary":"Drizzle","icon":"rain","precipIntensity":0.1778,"precipProbability":0.34,"precipType":"rain","temperature":7.41,"apparentTemperature":5.48,"dewPoint":3.23,"humidity":0.75,"windSpeed":6.41,"windBearing":122,"visibility":10,"cloudCover":0.93,"pressure":1033.7,"ozone":316.23},{"time":1492549200,"summary":"Drizzle","icon":"rain","precipIntensity":0.1422,"precipProbability":0.25,"precipType":"rain","temperature":6.94,"apparentTemperature":4.89,"dewPoint":3.33,"humidity":0.78,"windSpeed":6.54,"windBearing":119,"visibility":10,"cloudCover":1,"pressure":1033.8,"ozone":316.44},{"time":1492552800,"summary":"Drizzle","icon":"rain","precipIntensity":0.1753,"precipProbability":0.33,"precipType":"rain","temperature":6.84,"apparentTemperature":4.66,"dewPoint":3.33,"humidity":0.78,"windSpeed":6.91,"windBearing":121,"visibility":10,"cloudCover":1,"pressure":1033.75,"ozone":316.55},{"time":1492556400,"summary":"Overcast","icon":"cloudy","precipIntensity":0.094,"precipProbability":0.13,"precipType":"rain","temperature":6.87,"apparentTemperature":4.58,"dewPoint":3.5,"humidity":0.79,"windSpeed":7.33,"windBearing":122,"visibility":10,"cloudCover":1,"pressure":1033.6,"ozone":316.64},{"time":1492560000,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0305,"precipProbability":0.02,"precipType":"rain","temperature":6.99,"apparentTemperature":4.69,"dewPoint":3.68,"humidity":0.79,"windSpeed":7.43,"windBearing":124,"visibility":10,"cloudCover":1,"pressure":1033.44,"ozone":316.4},{"time":1492563600,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0381,"precipProbability":0.03,"precipType":"rain","temperature":7.03,"apparentTemperature":4.71,"dewPoint":3.96,"humidity":0.81,"windSpeed":7.57,"windBearing":127,"visibility":10,"cloudCover":1,"pressure":1033.23,"ozone":315.6},{"time":1492567200,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0838,"precipProbability":0.11,"precipType":"rain","temperature":6.93,"apparentTemperature":4.64,"dewPoint":4.13,"humidity":0.82,"windSpeed":7.38,"windBearing":134,"visibility":10,"cloudCover":1,"pressure":1032.99,"ozone":314.46},{"time":1492570800,"summary":"Overcast","icon":"cloudy","precipIntensity":0.1219,"precipProbability":0.2,"precipType":"rain","temperature":6.79,"apparentTemperature":4.47,"dewPoint":4.32,"humidity":0.84,"windSpeed":7.37,"windBearing":140,"visibility":10,"cloudCover":1,"pressure":1032.8,"ozone":313.38},{"time":1492574400,"summary":"Overcast","icon":"cloudy","precipIntensity":0.1041,"precipProbability":0.16,"precipType":"rain","temperature":6.74,"apparentTemperature":4.43,"dewPoint":4.61,"humidity":0.86,"windSpeed":7.27,"windBearing":145,"visibility":10,"cloudCover":1,"pressure":1032.67,"ozone":312.46},{"time":1492578000,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0533,"precipProbability":0.05,"precipType":"rain","temperature":6.62,"apparentTemperature":4.32,"dewPoint":4.82,"humidity":0.88,"windSpeed":7.19,"windBearing":150,"visibility":10,"cloudCover":1,"pressure":1032.6,"ozone":311.59},{"time":1492581600,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0229,"precipProbability":0.01,"precipType":"rain","temperature":6.71,"apparentTemperature":4.46,"dewPoint":5.18,"humidity":0.9,"windSpeed":7.02,"windBearing":163,"visibility":10,"cloudCover":1,"pressure":1032.6,"ozone":310.81},{"time":1492585200,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0508,"precipProbability":0.05,"precipType":"rain","temperature":7.22,"apparentTemperature":5.16,"dewPoint":5.82,"humidity":0.91,"windSpeed":6.73,"windBearing":172,"visibility":10,"cloudCover":0.98,"pressure":1032.68,"ozone":310.16},{"time":1492588800,"summary":"Overcast","icon":"cloudy","precipIntensity":0.1092,"precipProbability":0.17,"precipType":"rain","temperature":7.67,"apparentTemperature":5.75,"dewPoint":6.36,"humidity":0.91,"windSpeed":6.6,"windBearing":183,"visibility":10,"cloudCover":0.97,"pressure":1032.83,"ozone":309.59},{"time":1492592400,"summary":"Drizzle","icon":"rain","precipIntensity":0.1397,"precipProbability":0.24,"precipType":"rain","temperature":8.21,"apparentTemperature":6.38,"dewPoint":6.91,"humidity":0.92,"windSpeed":6.65,"windBearing":194,"visibility":9.56,"cloudCover":0.94,"pressure":1032.95,"ozone":308.98},{"time":1492596000,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0.1118,"precipProbability":0.17,"precipType":"rain","temperature":9.06,"apparentTemperature":7.46,"dewPoint":7.33,"humidity":0.89,"windSpeed":6.43,"windBearing":205,"visibility":10,"cloudCover":0.88,"pressure":1032.99,"ozone":308.25},{"time":1492599600,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0.0584,"precipProbability":0.06,"precipType":"rain","temperature":10.12,"apparentTemperature":10.12,"dewPoint":7.88,"humidity":0.86,"windSpeed":6.64,"windBearing":216,"visibility":10,"cloudCover":0.82,"pressure":1033.01,"ozone":307.48},{"time":1492603200,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":11.25,"apparentTemperature":11.25,"dewPoint":8.53,"humidity":0.83,"windSpeed":7.24,"windBearing":224,"visibility":10,"cloudCover":0.77,"pressure":1033.02,"ozone":306.82},{"time":1492606800,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":12.11,"apparentTemperature":12.11,"dewPoint":9.19,"humidity":0.82,"windSpeed":7.85,"windBearing":228,"visibility":10,"cloudCover":0.75,"pressure":1033.06,"ozone":306.35},{"time":1492610400,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":12.78,"apparentTemperature":12.78,"dewPoint":9.72,"humidity":0.82,"windSpeed":8.43,"windBearing":230,"visibility":10,"cloudCover":0.72,"pressure":1033.12,"ozone":305.99},{"time":1492614000,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":13.14,"apparentTemperature":13.14,"dewPoint":10.03,"humidity":0.81,"windSpeed":8.81,"windBearing":232,"visibility":10,"cloudCover":0.71,"pressure":1033.19,"ozone":305.57},{"time":1492617600,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":12.34,"apparentTemperature":12.34,"dewPoint":9.69,"humidity":0.84,"windSpeed":8.64,"windBearing":233,"visibility":10,"cloudCover":0.74,"pressure":1033.2,"ozone":304.97},{"time":1492621200,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":11.21,"apparentTemperature":11.21,"dewPoint":9.1,"humidity":0.87,"windSpeed":8.36,"windBearing":235,"visibility":10,"cloudCover":0.79,"pressure":1033.21,"ozone":304.31},{"time":1492624800,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":10.1,"apparentTemperature":10.1,"dewPoint":8.48,"humidity":0.9,"windSpeed":8.04,"windBearing":236,"visibility":10,"cloudCover":0.82,"pressure":1033.27,"ozone":303.84},{"time":1492628400,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":9.51,"apparentTemperature":7.66,"dewPoint":8.17,"humidity":0.91,"windSpeed":7.79,"windBearing":235,"visibility":10,"cloudCover":0.85,"pressure":1033.44,"ozone":303.71},{"time":1492632000,"summary":"Mostly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":9.34,"apparentTemperature":7.53,"dewPoint":8.23,"humidity":0.93,"windSpeed":7.46,"windBearing":232,"visibility":10,"cloudCover":0.87,"pressure":1033.68,"ozone":303.77},{"time":1492635600,"summary":"Mostly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":9.38,"apparentTemperature":7.63,"dewPoint":8.48,"humidity":0.94,"windSpeed":7.24,"windBearing":231,"visibility":8.74,"cloudCover":0.89,"pressure":1033.88,"ozone":303.87},{"time":1492639200,"summary":"Mostly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":9.45,"apparentTemperature":7.75,"dewPoint":8.64,"humidity":0.95,"windSpeed":7.08,"windBearing":229,"visibility":8.53,"cloudCover":0.88,"pressure":1034,"ozone":303.91},{"time":1492642800,"summary":"Mostly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":9.38,"apparentTemperature":7.71,"dewPoint":8.66,"humidity":0.95,"windSpeed":6.95,"windBearing":227,"visibility":8.26,"cloudCover":0.87,"pressure":1034.07,"ozone":304},{"time":1492646400,"summary":"Mostly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":9.17,"apparentTemperature":7.48,"dewPoint":8.53,"humidity":0.96,"windSpeed":6.86,"windBearing":225,"visibility":8.1,"cloudCover":0.86,"pressure":1034.07,"ozone":304.29},{"time":1492650000,"summary":"Mostly Cloudy","icon":"partly-cloudy-night","precipIntensity":0.1194,"precipProbability":0.19,"precipType":"rain","temperature":9.26,"apparentTemperature":7.57,"dewPoint":8.67,"humidity":0.96,"windSpeed":6.91,"windBearing":226,"visibility":8.16,"cloudCover":0.88,"pressure":1033.99,"ozone":304.82},{"time":1492653600,"summary":"Light Rain","icon":"rain","precipIntensity":0.2642,"precipProbability":0.51,"precipType":"rain","temperature":9.29,"apparentTemperature":7.58,"dewPoint":8.73,"humidity":0.96,"windSpeed":6.99,"windBearing":227,"visibility":8.33,"cloudCover":0.9,"pressure":1033.85,"ozone":305.55},{"time":1492657200,"summary":"Light Rain","icon":"rain","precipIntensity":0.3505,"precipProbability":0.55,"precipType":"rain","temperature":9.18,"apparentTemperature":7.42,"dewPoint":8.66,"humidity":0.97,"windSpeed":7.12,"windBearing":228,"visibility":8.44,"cloudCover":0.94,"pressure":1033.73,"ozone":306.63},{"time":1492660800,"summary":"Light Rain","icon":"rain","precipIntensity":0.3277,"precipProbability":0.54,"precipType":"rain","temperature":8.94,"apparentTemperature":7.11,"dewPoint":8.38,"humidity":0.96,"windSpeed":7.22,"windBearing":229,"visibility":8.61,"cloudCover":0.94,"pressure":1033.67,"ozone":308.43},{"time":1492664400,"summary":"Light Rain","icon":"rain","precipIntensity":0.2515,"precipProbability":0.5,"precipType":"rain","temperature":8.72,"apparentTemperature":6.8,"dewPoint":8.1,"humidity":0.96,"windSpeed":7.35,"windBearing":230,"visibility":8.73,"cloudCover":0.93,"pressure":1033.66,"ozone":310.57},{"time":1492668000,"summary":"Drizzle","icon":"rain","precipIntensity":0.1854,"precipProbability":0.36,"precipType":"rain","temperature":8.65,"apparentTemperature":6.68,"dewPoint":7.95,"humidity":0.95,"windSpeed":7.5,"windBearing":232,"visibility":8.84,"cloudCover":0.91,"pressure":1033.67,"ozone":312.07},{"time":1492671600,"summary":"Drizzle","icon":"rain","precipIntensity":0.1651,"precipProbability":0.31,"precipType":"rain","temperature":9.03,"apparentTemperature":7.07,"dewPoint":8.15,"humidity":0.94,"windSpeed":7.82,"windBearing":237,"visibility":8.98,"cloudCover":0.9,"pressure":1033.68,"ozone":312.31},{"time":1492675200,"summary":"Drizzle","icon":"rain","precipIntensity":0.1549,"precipProbability":0.28,"precipType":"rain","temperature":9.66,"apparentTemperature":7.73,"dewPoint":8.57,"humidity":0.93,"windSpeed":8.26,"windBearing":242,"visibility":9.11,"cloudCover":0.9,"pressure":1033.71,"ozone":311.91},{"time":1492678800,"summary":"Drizzle","icon":"rain","precipIntensity":0.1397,"precipProbability":0.24,"precipType":"rain","temperature":10.6,"apparentTemperature":10.6,"dewPoint":9.28,"humidity":0.92,"windSpeed":8.71,"windBearing":246,"visibility":9.25,"cloudCover":0.94,"pressure":1033.78,"ozone":311.77}]},"daily":{"summary":"Mixed precipitation throughout the week, with temperatures falling to 7°C on Tuesday.","icon":"rain","data":[{"time":1492470000,"summary":"Light rain starting in the evening.","icon":"rain","sunriseTime":1492491967,"sunsetTime":1492543872,"moonPhase":0.72,"precipIntensity":0.0432,"precipIntensityMax":0.2769,"precipIntensityMaxTime":1492538400,"precipProbability":0.52,"precipType":"rain","temperatureMin":-0.35,"temperatureMinTime":1492495200,"temperatureMax":11.69,"temperatureMaxTime":1492527600,"apparentTemperatureMin":-2.88,"apparentTemperatureMinTime":1492488000,"apparentTemperatureMax":11.69,"apparentTemperatureMaxTime":1492527600,"dewPoint":0.48,"humidity":0.7,"windSpeed":4.47,"windBearing":92,"visibility":10,"cloudCover":0.63,"pressure":1032.74,"ozone":322.76},{"time":1492556400,"summary":"Mostly cloudy throughout the day.","icon":"partly-cloudy-day","sunriseTime":1492578219,"sunsetTime":1492630395,"moonPhase":0.75,"precipIntensity":0.0457,"precipIntensityMax":0.1397,"precipIntensityMaxTime":1492592400,"precipProbability":0.24,"precipType":"rain","temperatureMin":6.62,"temperatureMinTime":1492578000,"temperatureMax":13.14,"temperatureMaxTime":1492614000,"apparentTemperatureMin":4.32,"apparentTemperatureMinTime":1492578000,"apparentTemperatureMax":13.14,"apparentTemperatureMaxTime":1492614000,"dewPoint":6.95,"humidity":0.87,"windSpeed":5.53,"windBearing":196,"visibility":10,"cloudCover":0.89,"pressure":1033.14,"ozone":308.7},{"time":1492642800,"summary":"Light rain in the morning and afternoon.","icon":"rain","sunriseTime":1492664472,"sunsetTime":1492716917,"moonPhase":0.79,"precipIntensity":0.1321,"precipIntensityMax":0.3505,"precipIntensityMaxTime":1492657200,"precipProbability":0.55,"precipType":"rain","temperatureMin":8.65,"temperatureMinTime":1492668000,"temperatureMax":13.04,"temperatureMaxTime":1492689600,"apparentTemperatureMin":6.68,"apparentTemperatureMinTime":1492668000,"apparentTemperatureMax":13.04,"apparentTemperatureMaxTime":1492689600,"dewPoint":9.18,"humidity":0.92,"windSpeed":8.63,"windBearing":243,"visibility":9.03,"cloudCover":0.88,"pressure":1033.69,"ozone":313.79},{"time":1492729200,"summary":"Light rain until afternoon.","icon":"rain","sunriseTime":1492750726,"sunsetTime":1492803440,"moonPhase":0.82,"precipIntensity":0.0914,"precipIntensityMax":0.4293,"precipIntensityMaxTime":1492776000,"precipProbability":0.58,"precipType":"rain","temperatureMin":6.56,"temperatureMinTime":1492812000,"temperatureMax":11.57,"temperatureMaxTime":1492776000,"apparentTemperatureMin":3.77,"apparentTemperatureMinTime":1492812000,"apparentTemperatureMax":11.57,"apparentTemperatureMaxTime":1492776000,"dewPoint":6.4,"humidity":0.83,"windSpeed":11.17,"windBearing":278,"visibility":10,"cloudCover":0.85,"pressure":1032.24,"ozone":323.98},{"time":1492815600,"summary":"Mostly cloudy throughout the day.","icon":"partly-cloudy-day","sunriseTime":1492836981,"sunsetTime":1492889962,"moonPhase":0.85,"precipIntensity":0.0229,"precipIntensityMax":0.0432,"precipIntensityMaxTime":1492855200,"precipProbability":0.04,"precipType":"rain","temperatureMin":2.28,"temperatureMinTime":1492898400,"temperatureMax":10.3,"temperatureMaxTime":1492873200,"apparentTemperatureMin":-1.11,"apparentTemperatureMinTime":1492898400,"apparentTemperatureMax":10.3,"apparentTemperatureMaxTime":1492873200,"dewPoint":1.74,"humidity":0.71,"windSpeed":10.27,"windBearing":311,"visibility":10,"cloudCover":0.61,"pressure":1031.1,"ozone":338.4},{"time":1492902000,"summary":"Partly cloudy throughout the day.","icon":"partly-cloudy-day","sunriseTime":1492923237,"sunsetTime":1492976485,"moonPhase":0.89,"precipIntensity":0.0203,"precipIntensityMax":0.033,"precipIntensityMaxTime":1492966800,"precipProbability":0.02,"precipType":"rain","temperatureMin":0.31,"temperatureMinTime":1492909200,"temperatureMax":11.21,"temperatureMaxTime":1492959600,"apparentTemperatureMin":-2.41,"apparentTemperatureMinTime":1492909200,"apparentTemperatureMax":11.21,"apparentTemperatureMaxTime":1492959600,"dewPoint":2.39,"humidity":0.81,"windSpeed":6.68,"windBearing":273,"visibility":10,"cloudCover":0.44,"pressure":1026.69,"ozone":338.67},{"time":1492988400,"summary":"Drizzle in the afternoon.","icon":"rain","sunriseTime":1493009493,"sunsetTime":1493063007,"moonPhase":0.92,"precipIntensity":0.066,"precipIntensityMax":0.1651,"precipIntensityMaxTime":1493035200,"precipProbability":0.3,"precipType":"rain","temperatureMin":0.69,"temperatureMinTime":1493071200,"temperatureMax":9.51,"temperatureMaxTime":1493046000,"apparentTemperatureMin":-3.87,"apparentTemperatureMinTime":1493071200,"apparentTemperatureMax":5.97,"apparentTemperatureMaxTime":1493046000,"dewPoint":1.82,"humidity":0.79,"windSpeed":11.57,"windBearing":283,"cloudCover":0.6,"pressure":1016.87,"ozone":361.18},{"time":1493074800,"summary":"Breezy in the morning and flurries in the evening.","icon":"snow","sunriseTime":1493095751,"sunsetTime":1493149530,"moonPhase":0.96,"precipIntensity":0.033,"precipIntensityMax":0.0737,"precipIntensityMaxTime":1493139600,"precipProbability":0.09,"precipType":"snow","precipAccumulation":0.597,"temperatureMin":-0.54,"temperatureMinTime":1493157600,"temperatureMax":7.12,"temperatureMaxTime":1493128800,"apparentTemperatureMin":-5.37,"apparentTemperatureMinTime":1493157600,"apparentTemperatureMax":2.69,"apparentTemperatureMaxTime":1493128800,"dewPoint":-2.13,"humidity":0.69,"windSpeed":15.02,"windBearing":324,"cloudCover":0.2,"pressure":1018.71,"ozone":397.15}]},"flags":{"sources":["datapoint","gfs","cmc","nam","rap","sref","fnmoc","isd","madis","nearest-precip","metwarn","darksky"],"datapoint-stations":["uk-301777","uk-3134","uk-322052","uk-322595","uk-322659","uk-350056","uk-351269","uk-351289","uk-351397","uk-351465","uk-352102","uk-352379","uk-352954","uk-354999","uk-371524","uk-371606"],"isd-stations":["031070-99999","031160-99999","031200-99999","031290-99999","031330-99999","031340-99999","031350-99999","031360-99999","031380-99999","031390-99999","031400-99999","031430-99999","031450-99999","031480-99999","031490-99999","031520-99999"],"madis-stations":["AU945","C9560","C9739","D4018","E0915","E3381","EGPF","EGPK"],"units":"uk2"}}},"history":["On this day in 1914, Harbourne Stephen, the Scottish World War II fighter pilot, was born.","Stephen was a Battle of Britain fighter ace who went on to forge a career for himself as a newspaper executive. On his way to a tally of 23 registered kills (though it was almost certainly higher) he shot down five enemy aircraft in a single day in August 1940. That December he became the first airman to be awarded a DSO in the field. Returning after the war to the field of newspapers, in which he had been a junior before he was called up in 1939, Stephen worked successively for the Beaverbrook press and for \"Thomson Newspapers\" before becoming managing director of The Daily Telegraph and The Sunday Telegraph in 1963.","On 18 April 1937, Sir Edward \"Teddy\" Taylor, the Scottish Conservative politician, was born. MP for Rochford and Southend since 1997, Taylor is a noted Euro-sceptic, who resigned from his government post in 1971, protesting against Britain joining the EEC.","Newspapers report that IBM had become the first computer manufacturer to use a megabit chip -- a memory chip capable of storing 1 million bits of information -- in a commercial product, its Model 3090. The announcement is heralded as a notable triumph for American computer makers, whose work had been perceived as having fallen behind that of the Japanese electronics industry."],"today":"Tuesday April 18, 2017 - The 107th day of 2017, and there are 257 days until the end of the year","tv":{"entries":[{"summary":"2 Broke Girls 6x22 - And 2 Broke Girls: The Movie","dtstart":"2017-04-18T01:30:00.000Z","dtend":"2017-04-18T02:00:00.000Z","description":"As the big premiere of the film about Caroline's life arrives\\,","timeStart":"2:30:00","timeEnd":"3:00:00","duration":"30 minutes","combined":"2:30:00 - '2 Broke Girls 6x22 - And 2 Broke Girls: The Movie, 30 minutes","recur":null,"long":"Tuesday, 2:30:00 - ","longcombined":"Tuesday, 2:30:00 - 2 Broke Girls 6x22 - And 2 Broke Girls: The Movie, 30 minutes"},{"summary":"Better Call Saul 3x2 - Witness","dtstart":"2017-04-18T02:00:00.000Z","dtend":"2017-04-18T03:00:00.000Z","description":"Jimmy and Kim hire an assistant\\; Mike seeks out a mysterious","timeStart":"3:00:00","timeEnd":"4:00:00","duration":"1 hour","combined":"3:00:00 - 'Better Call Saul 3x2 - Witness, 1 hour","recur":null,"long":"Tuesday, 3:00:00 - ","longcombined":"Tuesday, 3:00:00 - Better Call Saul 3x2 - Witness, 1 hour"}]},"cal":{"today":[{"summary":"Glasgow\\, United Kingdom\\, April 2017","dtstart":"2017-04-17T23:00:00.000Z","dtend":"2017-04-18T23:00:00.000Z","description":"Martin Donnelly is in Glasgow\\, United Kingdom from Apr 18\\, 2","timeStart":"0:00:00","timeEnd":"0:00:00","duration":"1 day","combined":"0:00:00 - 'Glasgow\\, United Kingdom\\, April 2017, 1 day","recur":null,"long":"Tuesday, 0:00:00 - ","longcombined":"Tuesday, 0:00:00 - Glasgow\\, United Kingdom\\, April 2017, 1 day"},{"summary":"SCOTRAIL - Dumbarton East to Glasgow Queen Street","dtstart":"2017-04-18T06:28:00.000Z","dtend":"2017-04-18T07:04:00.000Z","description":"View and/or edit details in TripIt : https://www.tripit.com/tr","timeStart":"7:28:00","timeEnd":"8:04:00","duration":"36 minutes","combined":"7:28:00 - 'SCOTRAIL - Dumbarton East to Glasgow Queen Street, 36 minutes","recur":null,"long":"Tuesday, 7:28:00 - ","longcombined":"Tuesday, 7:28:00 - SCOTRAIL - Dumbarton East to Glasgow Queen Street, 36 minutes"},{"summary":"SCOTRAIL - Glasgow Queen Street to Haymarket (Edinburgh)","dtstart":"2017-04-18T07:15:00.000Z","dtend":"2017-04-18T08:04:00.000Z","description":"View and/or edit details in TripIt : https://www.tripit.com/tr","timeStart":"8:15:00","timeEnd":"9:04:00","duration":"49 minutes","combined":"8:15:00 - 'SCOTRAIL - Glasgow Queen Street to Haymarket (Edinburgh), 49 minutes","recur":null,"long":"Tuesday, 8:15:00 - ","longcombined":"Tuesday, 8:15:00 - SCOTRAIL - Glasgow Queen Street to Haymarket (Edinburgh), 49 minutes"}],"tomorrow":[],"week":[{"summary":"Update Timesheet","dtstart":"2017-04-21T14:30:00.965Z","dtend":"2017-04-21T15:30:00.965Z","description":"Update the timesheet using https://outsauce.backofficeportal.co","timeStart":"15:30:00","timeEnd":"16:30:00","duration":"1 hour","combined":"15:30:00 - 'Update Timesheet, 1 hour","recur":"FREQ=WEEKLY;COUNT=15;BYDAY=FR","long":"Friday, 15:30:00 - ","longcombined":"Friday, 15:30:00 - Update Timesheet, 1 hour"},{"summary":"St. George's Day","dtstart":"2017-04-22T23:00:00.000Z","dtend":"2017-04-23T23:00:00.000Z","description":"","timeStart":"0:00:00","timeEnd":"0:00:00","duration":"1 day","combined":"0:00:00 - 'St. George's Day, 1 day","recur":null,"long":"Sunday, 0:00:00 - ","longcombined":"Sunday, 0:00:00 - St. George's Day, 1 day"},{"summary":"St. George's Day-C (E)","dtstart":"2017-04-22T23:00:00.031Z","dtend":"2017-04-23T23:00:00.031Z","description":"\\n\\n","timeStart":"0:00:00","timeEnd":"0:00:00","duration":"1 day","combined":"0:00:00 - 'St. George's Day-C (E), 1 day","recur":"FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=23","long":"Sunday, 0:00:00 - ","longcombined":"Sunday, 0:00:00 - St. George's Day-C (E), 1 day"}]},"swedish":{"xml":{"$":{"xmlns:wotd":"http://www.transparent.com/word-of-the-day/"},"words":{"date":"04-18-2017","langname":"Swedish","wordtype":"noun","word":"(ett) läsår","wordsound":"http://wotd.transparent.com/swedish/level-1/sound/00413_WOTD_Swedish_Words.mp3","translation":"school year","fnphrase":"Varje höst börjar ett nytt läsår.","phrasesound":"http://wotd.transparent.com/swedish/level-1/sound/00413_WOTD_Swedish_Sentences.mp3","enphrase":"Every fall, the school year begins anew.","wotd:transliteratedWord":"","wotd:transliteratedSentence":"","notes":""}}},"fitbit":{},"ftse":[{"name":"Standard Life Plc","price":"365.55","change_amount":"+10.15","change_percent":"+2.75%"},{"name":"Reckitt Benckiser Group Plc","price":"7,448.50","change_amount":"+100.00","change_percent":"+1.34%"},{"name":"Taylor Wimpey Plc","price":"196.45","change_amount":"+1.89","change_percent":"+0.96%"},{"name":"Legal & General Group Plc","price":"252.70","change_amount":"+1.10","change_percent":"+0.44%"},{"name":"Kingfisher","price":"328.25","change_amount":"+1.30","change_percent":"+0.40%"},{"name":"St James's Place Plc","price":"1,069.50","change_amount":"+4.00","change_percent":"+0.38%"},{"name":"Rolls Royce Holdings Plc","price":"830.25","change_amount":"+2.00","change_percent":"+0.24%"},{"name":"Paddy Power Betfair Plc","price":"8,535.00","change_amount":"+10.00","change_percent":"+0.12%"},{"name":"Old Mutual Plc","price":"195.10","change_amount":"+0.20","change_percent":"+0.10%"},{"name":"Next Plc","price":"4,196.00","change_amount":"+4.00","change_percent":"+0.10%"}],"quotes":{"quote":"I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth.","author":"Umberto Eco","category":"Famous"}},"expire":3600000,"date":{"year":2017,"month":4,"day":18}} +{"last":1492690512307,"data":{"trains":{"last":"2017-04-20T12:15:01.311Z","data":[]},"weather":{"currently":"Mostly Cloudy. Around 8 to 12 degrees.","today":"Mostly cloudy throughout the day.","later":"Mixed precipitation today through Wednesday, with temperatures falling to 7°C on Tuesday.","alerts":{},"data":{"latitude":55.95,"longitude":-4.566667,"timezone":"Europe/London","offset":1,"currently":{"time":1492690238,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","nearestStormDistance":80,"nearestStormBearing":204,"precipIntensity":0,"precipProbability":0,"temperature":11.03,"apparentTemperature":11.03,"dewPoint":7.82,"humidity":0.81,"windSpeed":9,"windBearing":236,"visibility":8.48,"cloudCover":0.66,"pressure":1033.39,"ozone":304.31},"minutely":{"summary":"Mostly cloudy for the hour.","icon":"partly-cloudy-day","data":[{"time":1492690200,"precipIntensity":0,"precipProbability":0},{"time":1492690260,"precipIntensity":0,"precipProbability":0},{"time":1492690320,"precipIntensity":0,"precipProbability":0},{"time":1492690380,"precipIntensity":0,"precipProbability":0},{"time":1492690440,"precipIntensity":0,"precipProbability":0},{"time":1492690500,"precipIntensity":0,"precipProbability":0},{"time":1492690560,"precipIntensity":0,"precipProbability":0},{"time":1492690620,"precipIntensity":0,"precipProbability":0},{"time":1492690680,"precipIntensity":0,"precipProbability":0},{"time":1492690740,"precipIntensity":0,"precipProbability":0},{"time":1492690800,"precipIntensity":0,"precipProbability":0},{"time":1492690860,"precipIntensity":0,"precipProbability":0},{"time":1492690920,"precipIntensity":0,"precipProbability":0},{"time":1492690980,"precipIntensity":0,"precipProbability":0},{"time":1492691040,"precipIntensity":0,"precipProbability":0},{"time":1492691100,"precipIntensity":0,"precipProbability":0},{"time":1492691160,"precipIntensity":0,"precipProbability":0},{"time":1492691220,"precipIntensity":0,"precipProbability":0},{"time":1492691280,"precipIntensity":0,"precipProbability":0},{"time":1492691340,"precipIntensity":0,"precipProbability":0},{"time":1492691400,"precipIntensity":0,"precipProbability":0},{"time":1492691460,"precipIntensity":0,"precipProbability":0},{"time":1492691520,"precipIntensity":0,"precipProbability":0},{"time":1492691580,"precipIntensity":0,"precipProbability":0},{"time":1492691640,"precipIntensity":0,"precipProbability":0},{"time":1492691700,"precipIntensity":0,"precipProbability":0},{"time":1492691760,"precipIntensity":0,"precipProbability":0},{"time":1492691820,"precipIntensity":0,"precipProbability":0},{"time":1492691880,"precipIntensity":0,"precipProbability":0},{"time":1492691940,"precipIntensity":0,"precipProbability":0},{"time":1492692000,"precipIntensity":0,"precipProbability":0},{"time":1492692060,"precipIntensity":0,"precipProbability":0},{"time":1492692120,"precipIntensity":0,"precipProbability":0},{"time":1492692180,"precipIntensity":0,"precipProbability":0},{"time":1492692240,"precipIntensity":0,"precipProbability":0},{"time":1492692300,"precipIntensity":0,"precipProbability":0},{"time":1492692360,"precipIntensity":0,"precipProbability":0},{"time":1492692420,"precipIntensity":0,"precipProbability":0},{"time":1492692480,"precipIntensity":0,"precipProbability":0},{"time":1492692540,"precipIntensity":0,"precipProbability":0},{"time":1492692600,"precipIntensity":0,"precipProbability":0},{"time":1492692660,"precipIntensity":0,"precipProbability":0},{"time":1492692720,"precipIntensity":0,"precipProbability":0},{"time":1492692780,"precipIntensity":0,"precipProbability":0},{"time":1492692840,"precipIntensity":0,"precipProbability":0},{"time":1492692900,"precipIntensity":0,"precipProbability":0},{"time":1492692960,"precipIntensity":0,"precipProbability":0},{"time":1492693020,"precipIntensity":0,"precipProbability":0},{"time":1492693080,"precipIntensity":0,"precipProbability":0},{"time":1492693140,"precipIntensity":0,"precipProbability":0},{"time":1492693200,"precipIntensity":0,"precipProbability":0},{"time":1492693260,"precipIntensity":0,"precipProbability":0},{"time":1492693320,"precipIntensity":0,"precipProbability":0},{"time":1492693380,"precipIntensity":0,"precipProbability":0},{"time":1492693440,"precipIntensity":0,"precipProbability":0},{"time":1492693500,"precipIntensity":0,"precipProbability":0},{"time":1492693560,"precipIntensity":0,"precipProbability":0},{"time":1492693620,"precipIntensity":0,"precipProbability":0},{"time":1492693680,"precipIntensity":0,"precipProbability":0},{"time":1492693740,"precipIntensity":0,"precipProbability":0},{"time":1492693800,"precipIntensity":0,"precipProbability":0}]},"hourly":{"summary":"Light rain starting tomorrow morning.","icon":"rain","data":[{"time":1492689600,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":11.03,"apparentTemperature":11.03,"dewPoint":7.69,"humidity":0.8,"windSpeed":8.95,"windBearing":236,"visibility":8.07,"cloudCover":0.6,"pressure":1033.42,"ozone":304.29},{"time":1492693200,"summary":"Overcast","icon":"cloudy","precipIntensity":0,"precipProbability":0,"temperature":11.47,"apparentTemperature":11.47,"dewPoint":8.83,"humidity":0.84,"windSpeed":9.21,"windBearing":236,"visibility":10,"cloudCover":0.94,"pressure":1033.27,"ozone":304.38},{"time":1492696800,"summary":"Overcast","icon":"cloudy","precipIntensity":0,"precipProbability":0,"temperature":11.83,"apparentTemperature":11.83,"dewPoint":9.23,"humidity":0.84,"windSpeed":9.37,"windBearing":237,"visibility":10,"cloudCover":0.96,"pressure":1033.08,"ozone":304.51},{"time":1492700400,"summary":"Overcast","icon":"cloudy","precipIntensity":0,"precipProbability":0,"temperature":12.03,"apparentTemperature":12.03,"dewPoint":9.39,"humidity":0.84,"windSpeed":9.37,"windBearing":236,"visibility":10,"cloudCover":0.97,"pressure":1032.87,"ozone":304.94},{"time":1492704000,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":12,"apparentTemperature":12,"dewPoint":9.56,"humidity":0.85,"windSpeed":9.03,"windBearing":234,"visibility":10,"cloudCover":0.91,"pressure":1032.67,"ozone":305.76},{"time":1492707600,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":11.58,"apparentTemperature":11.58,"dewPoint":9.33,"humidity":0.86,"windSpeed":8.63,"windBearing":231,"visibility":10,"cloudCover":0.84,"pressure":1032.49,"ozone":306.89},{"time":1492711200,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":11.06,"apparentTemperature":11.06,"dewPoint":9.07,"humidity":0.88,"windSpeed":8.35,"windBearing":229,"visibility":10,"cloudCover":0.79,"pressure":1032.36,"ozone":308.36},{"time":1492714800,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0.033,"precipProbability":0.02,"precipType":"rain","temperature":10.53,"apparentTemperature":10.53,"dewPoint":8.96,"humidity":0.9,"windSpeed":7.92,"windBearing":225,"visibility":10,"cloudCover":0.84,"pressure":1032.32,"ozone":309.98},{"time":1492718400,"summary":"Mostly Cloudy","icon":"partly-cloudy-night","precipIntensity":0.0838,"precipProbability":0.11,"precipType":"rain","temperature":10.1,"apparentTemperature":10.1,"dewPoint":8.94,"humidity":0.93,"windSpeed":7.7,"windBearing":221,"visibility":9.73,"cloudCover":0.89,"pressure":1032.32,"ozone":311.93},{"time":1492722000,"summary":"Drizzle","icon":"rain","precipIntensity":0.1651,"precipProbability":0.31,"precipType":"rain","temperature":9.78,"apparentTemperature":7.97,"dewPoint":8.93,"humidity":0.94,"windSpeed":7.83,"windBearing":217,"visibility":9.22,"cloudCover":0.94,"pressure":1032.26,"ozone":314.74},{"time":1492725600,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0965,"precipProbability":0.14,"precipType":"rain","temperature":9.58,"apparentTemperature":7.66,"dewPoint":8.9,"humidity":0.96,"windSpeed":8.12,"windBearing":218,"visibility":8.43,"cloudCover":0.97,"pressure":1032.07,"ozone":319.59},{"time":1492729200,"summary":"Light Rain","icon":"rain","precipIntensity":0.2769,"precipProbability":0.52,"precipType":"rain","temperature":9.43,"apparentTemperature":7.42,"dewPoint":8.82,"humidity":0.96,"windSpeed":8.38,"windBearing":218,"visibility":7.68,"cloudCover":0.98,"pressure":1031.8,"ozone":325.29},{"time":1492732800,"summary":"Overcast","icon":"cloudy","precipIntensity":0.1067,"precipProbability":0.16,"precipType":"rain","temperature":9.36,"apparentTemperature":7.26,"dewPoint":8.81,"humidity":0.96,"windSpeed":8.75,"windBearing":219,"visibility":6.75,"cloudCover":1,"pressure":1031.48,"ozone":328.89},{"time":1492736400,"summary":"Drizzle","icon":"rain","precipIntensity":0.2235,"precipProbability":0.47,"precipType":"rain","temperature":9.4,"apparentTemperature":7.24,"dewPoint":8.83,"humidity":0.96,"windSpeed":9.06,"windBearing":219,"visibility":7.38,"cloudCover":1,"pressure":1031.04,"ozone":328.8},{"time":1492740000,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0406,"precipProbability":0.03,"precipType":"rain","temperature":9.51,"apparentTemperature":7.33,"dewPoint":8.93,"humidity":0.96,"windSpeed":9.32,"windBearing":221,"visibility":7.96,"cloudCover":1,"pressure":1030.53,"ozone":326.61},{"time":1492743600,"summary":"Overcast","icon":"cloudy","precipIntensity":0.1168,"precipProbability":0.19,"precipType":"rain","temperature":9.66,"apparentTemperature":7.42,"dewPoint":9.06,"humidity":0.96,"windSpeed":9.75,"windBearing":222,"visibility":8.49,"cloudCover":1,"pressure":1030.12,"ozone":324.01},{"time":1492747200,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0533,"precipProbability":0.05,"precipType":"rain","temperature":9.79,"apparentTemperature":7.47,"dewPoint":9.14,"humidity":0.96,"windSpeed":10.38,"windBearing":226,"visibility":8.07,"cloudCover":1,"pressure":1029.88,"ozone":321.13},{"time":1492750800,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0483,"precipProbability":0.04,"precipType":"rain","temperature":9.88,"apparentTemperature":7.49,"dewPoint":9.14,"humidity":0.95,"windSpeed":10.9,"windBearing":235,"visibility":8.8,"cloudCover":1,"pressure":1029.74,"ozone":317.84},{"time":1492754400,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0483,"precipProbability":0.04,"precipType":"rain","temperature":9.99,"apparentTemperature":7.55,"dewPoint":9.14,"humidity":0.94,"windSpeed":11.34,"windBearing":241,"visibility":9.03,"cloudCover":1,"pressure":1029.69,"ozone":315.45},{"time":1492758000,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0406,"precipProbability":0.03,"precipType":"rain","temperature":10.21,"apparentTemperature":10.21,"dewPoint":9.16,"humidity":0.93,"windSpeed":11.7,"windBearing":244,"visibility":10,"cloudCover":0.99,"pressure":1029.76,"ozone":314.71},{"time":1492761600,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0432,"precipProbability":0.04,"precipType":"rain","temperature":10.54,"apparentTemperature":10.54,"dewPoint":9.26,"humidity":0.92,"windSpeed":11.96,"windBearing":245,"visibility":10,"cloudCover":0.99,"pressure":1029.92,"ozone":314.86},{"time":1492765200,"summary":"Overcast","icon":"cloudy","precipIntensity":0.0864,"precipProbability":0.12,"precipType":"rain","temperature":10.86,"apparentTemperature":10.86,"dewPoint":9.32,"humidity":0.9,"windSpeed":12.79,"windBearing":252,"visibility":10,"cloudCover":0.99,"pressure":1030.11,"ozone":314.94},{"time":1492768800,"summary":"Light Rain","icon":"rain","precipIntensity":0.2337,"precipProbability":0.49,"precipType":"rain","temperature":11.13,"apparentTemperature":11.13,"dewPoint":9.58,"humidity":0.9,"windSpeed":12.12,"windBearing":255,"visibility":10,"cloudCover":0.99,"pressure":1030.26,"ozone":314.47},{"time":1492772400,"summary":"Light Rain","icon":"rain","precipIntensity":0.4216,"precipProbability":0.58,"precipType":"rain","temperature":11.32,"apparentTemperature":11.32,"dewPoint":9.76,"humidity":0.9,"windSpeed":11.41,"windBearing":260,"visibility":10,"cloudCover":0.99,"pressure":1030.42,"ozone":313.93},{"time":1492776000,"summary":"Light Rain","icon":"rain","precipIntensity":0.508,"precipProbability":0.61,"precipType":"rain","temperature":11.43,"apparentTemperature":11.43,"dewPoint":9.84,"humidity":0.9,"windSpeed":10.83,"windBearing":266,"visibility":10,"cloudCover":1,"pressure":1030.54,"ozone":313.72},{"time":1492779600,"summary":"Light Rain","icon":"rain","precipIntensity":0.3988,"precipProbability":0.57,"precipType":"rain","temperature":11.45,"apparentTemperature":11.45,"dewPoint":9.38,"humidity":0.87,"windSpeed":10.59,"windBearing":271,"visibility":10,"cloudCover":0.83,"pressure":1030.64,"ozone":313.77},{"time":1492783200,"summary":"Drizzle","icon":"rain","precipIntensity":0.1854,"precipProbability":0.36,"precipType":"rain","temperature":11.08,"apparentTemperature":11.08,"dewPoint":8.49,"humidity":0.84,"windSpeed":10.57,"windBearing":278,"visibility":10,"cloudCover":0.82,"pressure":1030.7,"ozone":314.16},{"time":1492786800,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0.0254,"precipProbability":0.01,"precipType":"rain","temperature":10.46,"apparentTemperature":10.46,"dewPoint":7.39,"humidity":0.81,"windSpeed":10.53,"windBearing":283,"visibility":10,"cloudCover":0.8,"pressure":1030.77,"ozone":315.5},{"time":1492790400,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":9.62,"apparentTemperature":7.29,"dewPoint":6.17,"humidity":0.79,"windSpeed":10.15,"windBearing":287,"visibility":10,"cloudCover":0.75,"pressure":1030.82,"ozone":318.2},{"time":1492794000,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":8.99,"apparentTemperature":6.65,"dewPoint":5.21,"humidity":0.77,"windSpeed":9.53,"windBearing":291,"visibility":10,"cloudCover":0.69,"pressure":1030.87,"ozone":321.84},{"time":1492797600,"summary":"Mostly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":8.63,"apparentTemperature":6.32,"dewPoint":4.51,"humidity":0.75,"windSpeed":8.97,"windBearing":294,"visibility":10,"cloudCover":0.63,"pressure":1030.98,"ozone":325.82},{"time":1492801200,"summary":"Partly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":8.18,"apparentTemperature":5.96,"dewPoint":4.32,"humidity":0.77,"windSpeed":8.15,"windBearing":294,"visibility":10,"cloudCover":0.58,"pressure":1031.22,"ozone":330.4},{"time":1492804800,"summary":"Partly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":7.64,"apparentTemperature":5.5,"dewPoint":4.05,"humidity":0.78,"windSpeed":7.35,"windBearing":293,"visibility":10,"cloudCover":0.51,"pressure":1031.56,"ozone":335.32},{"time":1492808400,"summary":"Partly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":6.95,"apparentTemperature":4.86,"dewPoint":3.61,"humidity":0.79,"windSpeed":6.68,"windBearing":291,"visibility":10,"cloudCover":0.44,"pressure":1031.85,"ozone":339.17},{"time":1492812000,"summary":"Partly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":6.3,"apparentTemperature":4.17,"dewPoint":3.12,"humidity":0.8,"windSpeed":6.4,"windBearing":291,"visibility":10,"cloudCover":0.38,"pressure":1032.04,"ozone":341.16},{"time":1492815600,"summary":"Partly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":5.64,"apparentTemperature":3.47,"dewPoint":2.61,"humidity":0.81,"windSpeed":6.11,"windBearing":292,"visibility":10,"cloudCover":0.33,"pressure":1032.17,"ozone":342.08},{"time":1492819200,"summary":"Partly Cloudy","icon":"partly-cloudy-night","precipIntensity":0,"precipProbability":0,"temperature":4.83,"apparentTemperature":2.61,"dewPoint":1.94,"humidity":0.82,"windSpeed":5.83,"windBearing":291,"visibility":10,"cloudCover":0.27,"pressure":1032.23,"ozone":342.81},{"time":1492822800,"summary":"Clear","icon":"clear-night","precipIntensity":0,"precipProbability":0,"temperature":4.48,"apparentTemperature":2.24,"dewPoint":1.65,"humidity":0.82,"windSpeed":5.72,"windBearing":291,"visibility":10,"cloudCover":0.2,"pressure":1032.18,"ozone":343.56},{"time":1492826400,"summary":"Clear","icon":"clear-night","precipIntensity":0,"precipProbability":0,"temperature":4.51,"apparentTemperature":2.31,"dewPoint":1.72,"humidity":0.82,"windSpeed":5.61,"windBearing":290,"visibility":10,"cloudCover":0.13,"pressure":1032.08,"ozone":344.12},{"time":1492830000,"summary":"Clear","icon":"clear-night","precipIntensity":0,"precipProbability":0,"temperature":4.42,"apparentTemperature":2.24,"dewPoint":1.69,"humidity":0.82,"windSpeed":5.53,"windBearing":289,"visibility":10,"cloudCover":0.08,"pressure":1032.04,"ozone":344.77},{"time":1492833600,"summary":"Clear","icon":"clear-night","precipIntensity":0,"precipProbability":0,"temperature":4.63,"apparentTemperature":2.56,"dewPoint":1.89,"humidity":0.82,"windSpeed":5.34,"windBearing":287,"visibility":10,"cloudCover":0.11,"pressure":1032.08,"ozone":345.92},{"time":1492837200,"summary":"Clear","icon":"clear-night","precipIntensity":0,"precipProbability":0,"temperature":4.68,"apparentTemperature":2.69,"dewPoint":1.94,"humidity":0.82,"windSpeed":5.15,"windBearing":286,"visibility":10,"cloudCover":0.17,"pressure":1032.16,"ozone":347.15},{"time":1492840800,"summary":"Clear","icon":"clear-day","precipIntensity":0,"precipProbability":0,"temperature":4.62,"apparentTemperature":2.71,"dewPoint":1.79,"humidity":0.82,"windSpeed":4.98,"windBearing":286,"visibility":10,"cloudCover":0.24,"pressure":1032.23,"ozone":347.53},{"time":1492844400,"summary":"Partly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":5.4,"apparentTemperature":3.44,"dewPoint":1.84,"humidity":0.78,"windSpeed":5.42,"windBearing":292,"visibility":10,"cloudCover":0.33,"pressure":1032.3,"ozone":346.55},{"time":1492848000,"summary":"Partly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":6.28,"apparentTemperature":4.32,"dewPoint":1.84,"humidity":0.73,"windSpeed":5.86,"windBearing":298,"visibility":10,"cloudCover":0.45,"pressure":1032.37,"ozone":344.71},{"time":1492851600,"summary":"Partly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":7.36,"apparentTemperature":5.43,"dewPoint":2.01,"humidity":0.69,"windSpeed":6.42,"windBearing":301,"visibility":10,"cloudCover":0.53,"pressure":1032.36,"ozone":342.59},{"time":1492855200,"summary":"Partly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":8.29,"apparentTemperature":6.43,"dewPoint":2.39,"humidity":0.66,"windSpeed":6.82,"windBearing":294,"visibility":10,"cloudCover":0.58,"pressure":1032.26,"ozone":340.08},{"time":1492858800,"summary":"Partly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":9.31,"apparentTemperature":7.53,"dewPoint":2.86,"humidity":0.64,"windSpeed":7.27,"windBearing":287,"visibility":10,"cloudCover":0.56,"pressure":1032.08,"ozone":337.29},{"time":1492862400,"summary":"Partly Cloudy","icon":"partly-cloudy-day","precipIntensity":0,"precipProbability":0,"temperature":10.37,"apparentTemperature":10.37,"dewPoint":3.44,"humidity":0.62,"windSpeed":7.8,"windBearing":282,"visibility":10,"cloudCover":0.57,"pressure":1031.83,"ozone":335.16}]},"daily":{"summary":"Mixed precipitation today through Wednesday, with temperatures falling to 7°C on Tuesday.","icon":"rain","data":[{"time":1492642800,"summary":"Mostly cloudy throughout the day.","icon":"partly-cloudy-day","sunriseTime":1492664472,"sunsetTime":1492716917,"moonPhase":0.79,"precipIntensity":0.0356,"precipIntensityMax":0.2591,"precipIntensityMaxTime":1492664400,"precipProbability":0.51,"precipType":"rain","temperatureMin":8.92,"temperatureMinTime":1492664400,"temperatureMax":12.03,"temperatureMaxTime":1492700400,"apparentTemperatureMin":7.3,"apparentTemperatureMinTime":1492668000,"apparentTemperatureMax":12.03,"apparentTemperatureMaxTime":1492700400,"dewPoint":8.47,"humidity":0.88,"windSpeed":7.61,"windBearing":226,"visibility":8.15,"cloudCover":0.75,"pressure":1032.98,"ozone":304.55},{"time":1492729200,"summary":"Light rain until afternoon.","icon":"rain","sunriseTime":1492750726,"sunsetTime":1492803440,"moonPhase":0.82,"precipIntensity":0.1194,"precipIntensityMax":0.508,"precipIntensityMaxTime":1492776000,"precipProbability":0.61,"precipType":"rain","temperatureMin":6.3,"temperatureMinTime":1492812000,"temperatureMax":11.45,"temperatureMaxTime":1492779600,"apparentTemperatureMin":4.17,"apparentTemperatureMinTime":1492812000,"apparentTemperatureMax":11.45,"apparentTemperatureMaxTime":1492779600,"dewPoint":7.71,"humidity":0.88,"windSpeed":8.87,"windBearing":257,"visibility":10,"cloudCover":0.85,"pressure":1030.7,"ozone":322.08},{"time":1492815600,"summary":"Partly cloudy throughout the day.","icon":"partly-cloudy-day","sunriseTime":1492836981,"sunsetTime":1492889962,"moonPhase":0.85,"precipIntensity":0,"precipIntensityMax":0,"precipProbability":0,"temperatureMin":4.42,"temperatureMinTime":1492830000,"temperatureMax":11.26,"temperatureMaxTime":1492869600,"apparentTemperatureMin":2.24,"apparentTemperatureMinTime":1492830000,"apparentTemperatureMax":11.26,"apparentTemperatureMaxTime":1492869600,"dewPoint":2.59,"humidity":0.73,"windSpeed":6.71,"windBearing":284,"visibility":10,"cloudCover":0.38,"pressure":1031.24,"ozone":339.41},{"time":1492902000,"summary":"Drizzle in the morning and afternoon.","icon":"rain","sunriseTime":1492923237,"sunsetTime":1492976485,"moonPhase":0.89,"precipIntensity":0.0838,"precipIntensityMax":0.188,"precipIntensityMaxTime":1492959600,"precipProbability":0.37,"precipType":"rain","temperatureMin":5.04,"temperatureMinTime":1492912800,"temperatureMax":11.03,"temperatureMaxTime":1492956000,"apparentTemperatureMin":3.52,"apparentTemperatureMinTime":1492984800,"apparentTemperatureMax":11.03,"apparentTemperatureMaxTime":1492956000,"dewPoint":5.25,"humidity":0.84,"windSpeed":9.09,"windBearing":257,"visibility":10,"cloudCover":0.75,"pressure":1020.37,"ozone":344.63},{"time":1492988400,"summary":"Light rain starting in the afternoon, continuing until evening.","icon":"rain","sunriseTime":1493009493,"sunsetTime":1493063007,"moonPhase":0.92,"precipIntensity":0.0813,"precipIntensityMax":0.2921,"precipIntensityMaxTime":1493049600,"precipProbability":0.53,"precipType":"rain","temperatureMin":0.44,"temperatureMinTime":1493071200,"temperatureMax":7.93,"temperatureMaxTime":1493046000,"apparentTemperatureMin":-4.22,"apparentTemperatureMinTime":1493071200,"apparentTemperatureMax":4.66,"apparentTemperatureMaxTime":1493046000,"dewPoint":0.63,"humidity":0.74,"windSpeed":9.85,"windBearing":314,"visibility":10,"cloudCover":0.44,"pressure":1016.71,"ozone":397.6},{"time":1493074800,"summary":"Flurries in the morning and evening.","icon":"snow","sunriseTime":1493095751,"sunsetTime":1493149530,"moonPhase":0.96,"precipIntensity":0.0406,"precipIntensityMax":0.094,"precipIntensityMaxTime":1493136000,"precipProbability":0.13,"precipType":"snow","precipAccumulation":0.757,"temperatureMin":-2.11,"temperatureMinTime":1493085600,"temperatureMax":7.38,"temperatureMaxTime":1493125200,"apparentTemperatureMin":-6.92,"apparentTemperatureMinTime":1493082000,"apparentTemperatureMax":3.61,"apparentTemperatureMaxTime":1493125200,"dewPoint":-2.38,"humidity":0.73,"windSpeed":11.96,"windBearing":345,"visibility":10,"cloudCover":0.44,"pressure":1019.09,"ozone":418.46},{"time":1493161200,"summary":"Mixed precipitation until afternoon, starting again in the evening.","icon":"snow","sunriseTime":1493182010,"sunsetTime":1493236052,"moonPhase":0.01,"precipIntensity":0.0864,"precipIntensityMax":0.1981,"precipIntensityMaxTime":1493197200,"precipProbability":0.39,"precipType":"snow","precipAccumulation":1.588,"temperatureMin":-3.77,"temperatureMinTime":1493172000,"temperatureMax":8.53,"temperatureMaxTime":1493218800,"apparentTemperatureMin":-8.23,"apparentTemperatureMinTime":1493172000,"apparentTemperatureMax":6.26,"apparentTemperatureMaxTime":1493218800,"dewPoint":-2.32,"humidity":0.75,"windSpeed":5.54,"windBearing":324,"cloudCover":0.43,"pressure":1021.77,"ozone":408.96},{"time":1493247600,"summary":"Mostly cloudy throughout the day.","icon":"partly-cloudy-day","sunriseTime":1493268270,"sunsetTime":1493322575,"moonPhase":0.04,"precipIntensity":0.0406,"precipIntensityMax":0.0864,"precipIntensityMaxTime":1493330400,"precipProbability":0.12,"precipType":"rain","temperatureMin":-3.74,"temperatureMinTime":1493258400,"temperatureMax":9.2,"temperatureMaxTime":1493301600,"apparentTemperatureMin":-3.74,"apparentTemperatureMinTime":1493258400,"apparentTemperatureMax":7.33,"apparentTemperatureMaxTime":1493301600,"dewPoint":-0.47,"humidity":0.78,"windSpeed":3.65,"windBearing":263,"cloudCover":0.5,"pressure":1024.32,"ozone":385.19}]},"flags":{"sources":["datapoint","gfs","cmc","nam","rap","sref","fnmoc","isd","madis","nearest-precip","metwarn","darksky"],"datapoint-stations":["uk-301777","uk-3134","uk-322052","uk-322595","uk-322659","uk-350056","uk-351269","uk-351289","uk-351397","uk-351465","uk-352102","uk-352379","uk-352954","uk-354999","uk-371524","uk-371606"],"isd-stations":["031070-99999","031160-99999","031200-99999","031290-99999","031330-99999","031340-99999","031350-99999","031360-99999","031380-99999","031390-99999","031400-99999","031430-99999","031450-99999","031480-99999","031490-99999","031520-99999"],"madis-stations":["AU945","C9560","C9739","D4018","E0915","E3381","EGPF","EGPK"],"units":"uk2"}}},"history":["On 20th April 1918, Mora Dickson, Scottish author, painter and campaigner, was born.","In 1958, Mora and her husband, Alec, had the idea for the Voluntary Service Overseas, or VSO, scheme, in response to the ending of National Service. They ran it from their London home until 1962, when a dispute led to Alec's replacement as director. This prompted them to set up the Community Service Volunteers, or CSV, a volunteer programme focussing on Britain. In contrast to the highly selective VSO, CSV's philosophy was to take all comers. They were reunited with VSO in the 1990s, and Mora was elected an honorary vice-president.","On 20th April, 1934, the first public meeting of the Scottish National Party was held.","The meeting was held in the Central Hall, Tollcross, Edinburgh with Compton Mackenzie, the Lord Rector of Glasgow University, and W. Oliver Brown, prospective Nationalist candidate for East Renfrewshire, as guest speakers. The Scottish National Party was formed by the amalgamation of The National Party of Scotland and The Scottish Party.","MIT demonstrates its Whirlwind machine on Edward R. Murrow's See It Now television series. Project director Jay Forrester describes the computer as a \"reliable operating system,\" running 35 hours a week at 90-percent utility using an electrostatic tube memory that stores up to 2,048 16-digit words. The machine used 4,500 vacuum tubes and 14,800 diodes, taking up a total of 3,100 square feet."],"today":"Thursday April 20, 2017 - The 109th day of 2017, and there are 255 days until the end of the year","tv":{"entries":[{"summary":"Archer 8x3 - Archer Dreamland: Jane Doe","dtstart":"2017-04-20T02:00:00.000Z","dtend":"2017-04-20T02:30:00.000Z","description":"Archer tries to escape from jail with the help of a crazed","timeStart":"3:00:00","timeEnd":"3:30:00","duration":"30 minutes","combined":"3:00:00 - 'Archer 8x3 - Archer Dreamland: Jane Doe, 30 minutes","recur":null,"long":"Thursday, 3:00:00 - ","longcombined":"Thursday, 3:00:00 - Archer 8x3 - Archer Dreamland: Jane Doe, 30 minutes"}]},"cal":{"today":[{"summary":"Glasgow\\, United Kingdom\\, April 2017","dtstart":"2017-04-19T23:00:00.000Z","dtend":"2017-04-20T23:00:00.000Z","description":"Martin Donnelly is in Glasgow\\, United Kingdom from Apr 20\\, 2","timeStart":"0:00:00","timeEnd":"0:00:00","duration":"1 day","combined":"0:00:00 - 'Glasgow\\, United Kingdom\\, April 2017, 1 day","recur":null,"long":"Thursday, 0:00:00 - ","longcombined":"Thursday, 0:00:00 - Glasgow\\, United Kingdom\\, April 2017, 1 day"},{"summary":"SCOTRAIL - Haymarket (Edinburgh) to Glasgow Queen Street","dtstart":"2017-04-20T16:35:00.000Z","dtend":"2017-04-20T17:23:00.000Z","description":"View and/or edit details in TripIt : https://www.tripit.com/tr","timeStart":"17:35:00","timeEnd":"18:23:00","duration":"48 minutes","combined":"17:35:00 - 'SCOTRAIL - Haymarket (Edinburgh) to Glasgow Queen Street, 48 minutes","recur":null,"long":"Thursday, 17:35:00 - ","longcombined":"Thursday, 17:35:00 - SCOTRAIL - Haymarket (Edinburgh) to Glasgow Queen Street, 48 minutes"},{"summary":"SCOTRAIL - Glasgow Queen Street to Dumbarton East","dtstart":"2017-04-20T17:36:00.000Z","dtend":"2017-04-20T18:10:00.000Z","description":"View and/or edit details in TripIt : https://www.tripit.com/tr","timeStart":"18:36:00","timeEnd":"19:10:00","duration":"34 minutes","combined":"18:36:00 - 'SCOTRAIL - Glasgow Queen Street to Dumbarton East, 34 minutes","recur":null,"long":"Thursday, 18:36:00 - ","longcombined":"Thursday, 18:36:00 - SCOTRAIL - Glasgow Queen Street to Dumbarton East, 34 minutes"}],"tomorrow":[{"summary":"Update Timesheet","dtstart":"2017-04-21T14:30:00.387Z","dtend":"2017-04-21T15:30:00.387Z","description":"Update the timesheet using https://outsauce.backofficeportal.co","timeStart":"15:30:00","timeEnd":"16:30:00","duration":"1 hour","combined":"15:30:00 - 'Update Timesheet, 1 hour","recur":"FREQ=WEEKLY;COUNT=15;BYDAY=FR","long":"Friday, 15:30:00 - ","longcombined":"Friday, 15:30:00 - Update Timesheet, 1 hour"}],"week":[{"summary":"St. George's Day","dtstart":"2017-04-22T23:00:00.000Z","dtend":"2017-04-23T23:00:00.000Z","description":"","timeStart":"0:00:00","timeEnd":"0:00:00","duration":"1 day","combined":"0:00:00 - 'St. George's Day, 1 day","recur":null,"long":"Sunday, 0:00:00 - ","longcombined":"Sunday, 0:00:00 - St. George's Day, 1 day"},{"summary":"St. George's Day-C (E)","dtstart":"2017-04-22T23:00:00.477Z","dtend":"2017-04-23T23:00:00.477Z","description":"\\n\\n","timeStart":"0:00:00","timeEnd":"0:00:00","duration":"1 day","combined":"0:00:00 - 'St. George's Day-C (E), 1 day","recur":"FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=23","long":"Sunday, 0:00:00 - ","longcombined":"Sunday, 0:00:00 - St. George's Day-C (E), 1 day"}]},"swedish":{"xml":{"$":{"xmlns:wotd":"http://www.transparent.com/word-of-the-day/"},"words":{"date":"04-20-2017","langname":"Swedish","wordtype":"noun","word":"(en) anekdot","wordsound":"http://wotd.transparent.com/swedish/level-1/sound/00415_WOTD_Swedish_Words.mp3","translation":"anecdote","fnphrase":"Min farfar kan hundratals anekdoter.","phrasesound":"http://wotd.transparent.com/swedish/level-1/sound/00415_WOTD_Swedish_Sentences.mp3","enphrase":"My grandfather knows hundreds of anecdotes.","wotd:transliteratedWord":"","wotd:transliteratedSentence":"","notes":""}}},"fitbit":{},"ftse":[{"name":"Smurfit Kappa Group Plc","price":"1,965.00","change_amount":"+26.59","change_percent":"+1.34%"},{"name":"Unilever Plc","price":"3,986.25","change_amount":"+49.00","change_percent":"+1.24%"},{"name":"GKN Plc","price":"348.75","change_amount":"+4.20","change_percent":"+1.22%"},{"name":"Pearson Plc","price":"625.75","change_amount":"+7.50","change_percent":"+1.21%"},{"name":"St James's Place Plc","price":"1,068.50","change_amount":"+11.00","change_percent":"+1.04%"},{"name":"Royal Bank of Scotland Group Plc","price":"238.05","change_amount":"+2.40","change_percent":"+1.02%"},{"name":"Mondi Plc","price":"1,930.50","change_amount":"+16.88","change_percent":"+0.87%"},{"name":"Reckitt Benckiser Group Plc","price":"7,304.50","change_amount":"+59.00","change_percent":"+0.81%"},{"name":"Lloyds Banking Group Plc","price":"64.16","change_amount":"+0.49","change_percent":"+0.77%"},{"name":"WPP Plc","price":"1,699.50","change_amount":"+13.00","change_percent":"+0.77%"}],"quotes":{"quote":"A friendship founded on business is better than a business founded on friendship.","author":"John D. Rockefeller","category":"Famous"}},"expire":3600000,"date":{"year":2017,"month":4,"day":20}} diff --git a/lib/password.js b/lib/password.js index dc44802..f9b8656 100644 --- a/lib/password.js +++ b/lib/password.js @@ -1,68 +1,68 @@ var http = require('http'); Array.prototype.random = function () { - return this[Math.floor((Math.random() * this.length))]; + return this[Math.floor((Math.random() * this.length))]; }; var alpha = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; var whitespace = ['.', '~', '#', '!', '$', '+', '-', '+']; var numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; -var left = ["Alabama", - "Alaska", - "Arizona", - "Maryland", - "Nevada", - "Mexico", - "Texas", - "Utah", - "Glasgow", - "Inverness", - "Edinburgh", - "Dumbarton", - "Balloch", - "Renton", - "Cardross", - "Dundee", - "Paisley", - "Hamilton", - "Greenock", - "Falkirk", - "Irvine", - "Renfrew", - "Erskine", - "London", - "Hammersmith", - "Islington", - "Silver", "Black", "Yellow", "Purple", 'White', 'Pink', 'Red', 'Orange','Brown','Green','Blue','Amber','Aqua','Azure','Bronze','Coral','Copper','Crimson','Cyan','Ginger','Gold','Indigo','Jade' +var left = ['Alabama', + 'Alaska', + 'Arizona', + 'Maryland', + 'Nevada', + 'Mexico', + 'Texas', + 'Utah', + 'Glasgow', + 'Inverness', + 'Edinburgh', + 'Dumbarton', + 'Balloch', + 'Renton', + 'Cardross', + 'Dundee', + 'Paisley', + 'Hamilton', + 'Greenock', + 'Falkirk', + 'Irvine', + 'Renfrew', + 'Erskine', + 'London', + 'Hammersmith', + 'Islington', + 'Silver', 'Black', 'Yellow', 'Purple', 'White', 'Pink', 'Red', 'Orange', 'Brown', 'Green', 'Blue', 'Amber', 'Aqua', 'Azure', 'Bronze', 'Coral', 'Copper', 'Crimson', 'Cyan', 'Ginger', 'Gold', 'Indigo', 'Jade' ]; -var right = ['Aganju', 'Cygni', 'Akeron', 'Antares', 'Aragoth', 'Ardus', 'Carpenter', 'Cooper', 'Dahin', 'Capella', 'Endriago', 'Gallina', 'Fenris', 'Freya', 'Glenn', 'Grissom', 'Jotunheim', 'Kailaasa', 'Lagarto', 'Muspelheim', 'Nifleheim', 'Primus', 'Vega', 'Ragnarok', 'Shepard', 'Slayton', 'Tarsis', 'Mercury', 'Venus', 'Mars', 'Earth', 'Terra', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto', 'Europa', 'Ganymede', 'Callisto', 'Titan', 'Juno', 'Eridanus', 'Scorpius', 'Crux', 'Cancer', 'Taurus', 'Lyra', 'Andromeda', 'Virgo', 'Aquarius', 'Cygnus', 'Corvus', 'Taurus', 'Draco', 'Perseus', 'Pegasus', 'Gemini', 'Columbia', 'Bootes', 'Orion', 'Deneb', 'Merope', 'Agate','Amber','Beryl','Calcite','Citrine','Coral','Diamond','Emerald','Garnet','Jade','Lapis','Moonstone','Obsidian','Onyx','Opal','Pearl','Quartz','Ruby','Sapphire','Topaz','Iron','Lead','Nickel','Copper','Zinc','Tin','Manes','Argon','Neon','Alpha','Bravo','Charlie','Delta','Echo','Foxtrot','Golf','Hotel','India','Juliett','Kilo','Lima','Mike','November','Oscar','Papa','Quebec','Romeo','Sierra','Tango','Uniform','Victor','Whisky','Xray','Yankee','Zulu']; +var right = ['Aganju', 'Cygni', 'Akeron', 'Antares', 'Aragoth', 'Ardus', 'Carpenter', 'Cooper', 'Dahin', 'Capella', 'Endriago', 'Gallina', 'Fenris', 'Freya', 'Glenn', 'Grissom', 'Jotunheim', 'Kailaasa', 'Lagarto', 'Muspelheim', 'Nifleheim', 'Primus', 'Vega', 'Ragnarok', 'Shepard', 'Slayton', 'Tarsis', 'Mercury', 'Venus', 'Mars', 'Earth', 'Terra', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto', 'Europa', 'Ganymede', 'Callisto', 'Titan', 'Juno', 'Eridanus', 'Scorpius', 'Crux', 'Cancer', 'Taurus', 'Lyra', 'Andromeda', 'Virgo', 'Aquarius', 'Cygnus', 'Corvus', 'Taurus', 'Draco', 'Perseus', 'Pegasus', 'Gemini', 'Columbia', 'Bootes', 'Orion', 'Deneb', 'Merope', 'Agate', 'Amber', 'Beryl', 'Calcite', 'Citrine', 'Coral', 'Diamond', 'Emerald', 'Garnet', 'Jade', 'Lapis', 'Moonstone', 'Obsidian', 'Onyx', 'Opal', 'Pearl', 'Quartz', 'Ruby', 'Sapphire', 'Topaz', 'Iron', 'Lead', 'Nickel', 'Copper', 'Zinc', 'Tin', 'Manes', 'Argon', 'Neon', 'Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot', 'Golf', 'Hotel', 'India', 'Juliett', 'Kilo', 'Lima', 'Mike', 'November', 'Oscar', 'Papa', 'Quebec', 'Romeo', 'Sierra', 'Tango', 'Uniform', 'Victor', 'Whisky', 'Xray', 'Yankee', 'Zulu']; var numberCluster = function () { - return numbers.random() + numbers.random() + numbers.random(); + return numbers.random() + numbers.random() + numbers.random(); }; var randomAmount = function (i) { - var str = ''; + var str = ''; - for (var t = 0; t < i; t++) { - str = str + alpha.random(); - } + for (var t = 0; t < i; t++) { + str = str + alpha.random(); + } - return str; + return str; }; module.exports = { - generate: function (req, res) { - var reply = { - long: (left.random() + ' ' + right.random() + ' ' + numberCluster() + ' ' + numberCluster()).split(' ').join(whitespace.random()), - short: randomAmount(10) - }; + generate: function (req, res) { + var reply = { + long: (left.random() + ' ' + right.random() + ' ' + numberCluster() + ' ' + numberCluster()).split(' ').join(whitespace.random()), + short: randomAmount(10) + }; - res.setHeader('Content-Type', 'application/json'); - res.end(JSON.stringify(reply)); - } + res.setHeader('Content-Type', 'application/json'); + res.end(JSON.stringify(reply)); + } }; diff --git a/views/pages/slackV2-min.ejs b/views/pages/slackV2-min.ejs index 30cca5d..0213bbf 100644 --- a/views/pages/slackV2-min.ejs +++ b/views/pages/slackV2-min.ejs @@ -70,10 +70,11 @@
  • AJAX Endpoints
  • WebSSH
  • Jade Tester
  • - -
  • - +
    + +
    Something
    +
    Bitcoin
    @@ -381,6 +382,7 @@ w.glqhymView = new TrainView({model: new TrainModel({from: 'glq', to: 'hym'})}); w.hymglqView = new TrainView({model: new TrainModel({from: 'hym', to: 'glq'})}); + w.passwords = new PasswordView(); })(window); diff --git a/views/pages/slackV2.ejs b/views/pages/slackV2.ejs index 2caf38a..160f6e7 100644 --- a/views/pages/slackV2.ejs +++ b/views/pages/slackV2.ejs @@ -71,11 +71,11 @@
  • WebSSH
  • Jade Tester
  • -
  • - -
  • - +
    + +
    Something
    +
    Bitcoin
    @@ -382,6 +382,7 @@ +