From 47685493bc961f0186bab00b24eaf7367468af06 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Wed, 19 Mar 2014 15:28:48 +0100 Subject: server: Save form information to storage dir --- preprint/run.py | 7 +++++++ server.js | 29 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100755 preprint/run.py diff --git a/preprint/run.py b/preprint/run.py new file mode 100755 index 0000000..eeec19c --- /dev/null +++ b/preprint/run.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python + +import subprocess +import sys + +print 'Das ist preprint!!1elf' +subprocess.call(['logger', 'would print %s' % sys.argv[1]]) diff --git a/server.js b/server.js index e941992..46e3cda 100644 --- a/server.js +++ b/server.js @@ -4,10 +4,14 @@ var express = require('express'); var fs = require('fs'); var http = require('http'); var url_module = require('url'); +var child_process = require('child_process'); var MjpegProxy = require('mjpeg-proxy').MjpegProxy; var app = express(); +app.use(express.json()); + +var storage_dir = '/home/untersuchung/storage'; var cameras = [ { @@ -129,5 +133,30 @@ app.get('/blackout', function(req, res) { res.send('OK'); }); +/* receives the form from the user */ +app.post('/submit', function(req, res) { + var timestamp = req.body.formDate; + var path = storage_dir + '/' + timestamp; + fs.mkdirSync(path); + + /* Save the image to disk */ + /* XXX: here be dragons */ + var image = req.body.formImage; + var regex = /^data:.+?\/.+?;base64,(.*?)$/; + var matches = image.match(regex); + var base_data = matches[1]; + var buffer = new Buffer(base_data, 'base64'); + fs.writeFileSync(path + '/snapshot.jpg', buffer); + + req.body.formImage = undefined; + var info = JSON.stringify(req.body); + fs.writeFileSync(path + '/info.json', info); + + child_process.spawn(__dirname + '/preprint/run.py', [path], { + detached: true, + stdio: 'inherit' + }); + res.send('OK'); +}); app.listen(8080); -- cgit v1.2.1