diff --git a/public/404.html b/public/404.html index fc3e1c4..8883254 100644 --- a/public/404.html +++ b/public/404.html @@ -12,7 +12,6 @@

Error 404

Page Not Found

Sorry, this is the void.

diff --git a/public/500.html b/public/500.html index 232dde9..c8d5eb4 100644 --- a/public/500.html +++ b/public/500.html @@ -12,7 +12,6 @@

Error 500

Internal Server Error

Wooops, something went wrong

diff --git a/src/datapoint.js b/src/datapoint.js index a03b712..360f59f 100644 --- a/src/datapoint.js +++ b/src/datapoint.js @@ -3,7 +3,7 @@ var _ = require('underscore'); var spaceRegex = /[^A-Za-z0-9_\-]*/ var nameRegex = /[^A-Za-z0-9_\-]*/ -var valueRegex = /[^A-Za-z0-9_\-]*/ +var valueRegex = /[^A-Za-z0-9_\-\.: ]*/ var Datapoint = { @@ -197,7 +197,7 @@ var Datapoint = { }); }, - // get the last 100 data points + // get a set of data points, starting at 'offset' and returning 'limit' number of points history: function(redis, space, name, offset, limit, cb) { var flow = []; var context = {}; @@ -228,4 +228,4 @@ var Datapoint = { } } -module.exports = Datapoint; \ No newline at end of file +module.exports = Datapoint; diff --git a/src/routes.js b/src/routes.js index e71148d..129b008 100644 --- a/src/routes.js +++ b/src/routes.js @@ -191,6 +191,38 @@ server.route({ } }); +// a basic page showing two datapoints in a style designed for isvhsopen.com +server.route({ + method: 'GET', + path: '/s/{spacename}/data/{dataname1}/{dataname2}/fullpage', + handler: function(request, reply) { + var redisClient = request.server.plugins['hapi-redis'].client; + Datapoint.get(redisClient, request.params.spacename, request.params.dataname1, function(err, data1) { + if (err) { + request.log.error(err); + reply(404); + } else { + Datapoint.get(redisClient, request.params.spacename, request.params.dataname2, function(err, data2) { + if (err) { + request.log.error(err); + reply(404); + } else { + var renderContext = { + datapoint1: data1, + datapoint2: data2, + space: {name: "vhs"} + }; + server.render("data-full", renderContext, {}, function(err, rendered) { + if (err) return reply(err); + reply(rendered); + }); + } + }); + } + }); + } +}); + // a verbose page about the datavalue server.route({ method: 'GET', diff --git a/views/data-dual-full.html b/views/data-dual-full.html new file mode 100644 index 0000000..f5a0e31 --- /dev/null +++ b/views/data-dual-full.html @@ -0,0 +1,47 @@ +{{#extend "main"}} + {{#content "head" mode="append"}} + + {{/content}} + {{#content "body"}} +
+
+

{{datapoint1.value}}

+

{{datapoint2.value}}

+
As of {{datapoint1.last_updated}}
+
+
+ {{/content}} + {{#content "footer"}} +
+

+ VHS API +

+
+ {{/content}} +{{/extend}} diff --git a/views/layouts/main.html b/views/layouts/main.html index 00f9091..938e45a 100644 --- a/views/layouts/main.html +++ b/views/layouts/main.html @@ -32,7 +32,7 @@

Hackspace API