-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetUpImageSearch.js
66 lines (56 loc) · 1.68 KB
/
setUpImageSearch.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
const express = require('express');
const dbManager = require('./db');
const fs = require('fs');
const path = require('path');
const Twig = require("twig");
const bodyParser = require('body-parser');
const exifr = require('exifr')
let app = express();
let db = new dbManager.SQLite();
let config = new dbManager.Config();
app.use('/image', express.static('image'));
app.use(bodyParser.urlencoded());
app.set('views', path.resolve(__dirname, 'web/templates'));
let files = fs.readdirSync("image/");
app.get("/", (req, res) => {
if (files.length > 0) {
renderPage(files[0], res);
} else {
res.send("Fertig")
}
})
app.post("/", (req, res) => {
let filename = req.body['filename'];
let name = req.body['name'];
let lat = req.body['lat'];
let long = req.body['long'];
fs.renameSync("image/" + files[0], "image/" + filename);
db.db.run("INSERT INTO position (name, image, lat, long) VALUES (?,?,?,?)", name, filename, lat, long);
files.shift()
if (files.length === 0) {
res.send("Fertig")
} else {
renderPage(files[0], res);
}
})
app.post("/skip", (req, res) => {
files.shift();
res.send("ok");
})
function renderPage(filename, res) {
exifr.gps("image/" + files[0])
.then(output => {
if (output) {
res.render('install.twig', {
file: filename,
long: output.longitude.toFixed(7),
lat: output.latitude.toFixed(7)
})
} else {
res.render('install.twig', {
file: filename
})
}
});
}
app.listen(config.getWebserverPort(), "127.0.0.1")