Merge branch 'dev' into main

This commit is contained in:
Alexis
2023-04-27 12:15:00 +02:00
3 changed files with 50 additions and 17 deletions

View File

@@ -1,25 +1,29 @@
const express = require('express');
const app = express();
const PORT = 3000;
const express = require('express')
const cors = require('cors')
const fs = require('fs');
const path = require('path');
const GeoJsonGeometriesLookup = require("geojson-geometries-lookup");
const app = express()
app.use(cors())
const lookupTable = require('./rep-lookup');
const PORT = 3000
app.use(express.static(path.join(__dirname, 'public')));
const fs = require('fs')
const path = require('path')
const GeoJsonGeometriesLookup = require("geojson-geometries-lookup")
const lookupTable = require('./rep-lookup')
app.use(express.static(path.join(__dirname, 'public')))
app.use('/rep', async (req, res) => {
const lat = parseFloat(req.query.lat);
const lon = parseFloat(req.query.lon);
const lat = parseFloat(req.query.lat)
const lon = parseFloat(req.query.lon)
if (!lat || !lon) return
const f = fs.readFileSync(path.join(__dirname, 'public/circonscriptions-legislatives.json'), 'utf-8');
const f = fs.readFileSync(path.join(__dirname, 'public/circonscriptions-legislatives.json'), 'utf-8')
const data = JSON.parse(f)
gl = new GeoJsonGeometriesLookup(data);
gl = new GeoJsonGeometriesLookup(data)
const pos = {
type: "Point",
@@ -28,9 +32,16 @@ app.use('/rep', async (req, res) => {
const code = gl.getContainers(pos).features[0]?.properties["REF"]
const repFile = fs.readFileSync(path.join(__dirname, `public/reps/${lookupTable[code]}.json`), 'utf-8');
if (!code) {
res.json({
"message": "The requested data couldn't be found. Maybe it was moved or the data isn't generated properly."
}).status(404).end();
return
}
res.end(repFile);
const repFile = fs.readFileSync(path.join(__dirname, `public/reps/${lookupTable[code]}.json`), 'utf-8')
res.end(repFile)
/**
* GENERATE INITIAL DATA
@@ -40,10 +51,10 @@ app.use('/rep', async (req, res) => {
// const output = {}
// for (let i = 500; i < lookupTable.length; i++) {
// const repId = lookupTable[i];
// const repId = lookupTable[i]
// console.log(repId)
// const response = await fetch(`https://www.assemblee-nationale.fr/dyn/deputes/${repId}`);
// const response = await fetch(`https://www.assemblee-nationale.fr/dyn/deputes/${repId}`)
// const body = await response.text()
// const depRegex = new RegExp(/(data-content=\"\/dyn\/carte\/departement\/)([A-Za-z0-9]{2,})/g)
@@ -69,7 +80,7 @@ app.use('/rep', async (req, res) => {
// output[`${rep.departement}-${rep.circo}`] = repId
// }
// res.json(output);
// res.json(output)
})
app.listen(PORT, () => console.log(`Server listening on port: ${PORT}`));

21
package-lock.json generated
View File

@@ -6,6 +6,7 @@
"": {
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2",
"geojson-geometries-lookup": "^0.5.0"
}
@@ -183,6 +184,18 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
},
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"dependencies": {
"object-assign": "^4",
"vary": "^1"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -473,6 +486,14 @@
"node": ">= 0.6"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-inspect": {
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",

View File

@@ -3,6 +3,7 @@
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2",
"geojson-geometries-lookup": "^0.5.0"
},