changes
This commit is contained in:
26
rangevote.js
26
rangevote.js
@@ -1,11 +1,19 @@
|
||||
var express = require('express')
|
||||
var bodyParser = require('body-parser')
|
||||
var fs=require('fs')
|
||||
var hashindex=require('hash-index')
|
||||
|
||||
var app = express()
|
||||
|
||||
var Candidates=[ "Chris Christie", "Ron DeSantis", "Nikki Haley", "Mike Pence",
|
||||
"Vivek Ramaswamy", "Tim Scott", "Donald Trump" ];
|
||||
var Candidates=[
|
||||
"Chris Christie",
|
||||
"Donald Trump",
|
||||
"Mike Pence",
|
||||
"Nikki Haley",
|
||||
"Ron DeSantis",
|
||||
"Tim Scott",
|
||||
"Vivek Ramaswamy",
|
||||
];
|
||||
|
||||
function CanId(c)
|
||||
{
|
||||
@@ -38,12 +46,14 @@ for (let c of Candidates)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Construct the static page for range voting
|
||||
var RangeHTML="";
|
||||
for (let c of Candidates)
|
||||
{
|
||||
RangeHTML=RangeHTML+' <tr>'+
|
||||
' <td>'+c+'</td><td><input type="range" min="-1" max="100" value="-1" id="i-'+CanId(c)+'" name="n-'+CanId(c)+'" /></td><td><span id="o-'+CanId(c)+'">No Opinion</span></td></tr>\n';
|
||||
' <td>'+c+'</td><td><input style="width:95%" type="range" min="-1" max="100" value="-1" id="i-'+CanId(c)+'" name="n-'+CanId(c)+'" /></td><td><span id="o-'+CanId(c)+'">No Opinion</span></td></tr>\n';
|
||||
}
|
||||
var TemplateHTML=fs.readFileSync("rangevote.html").toString();
|
||||
var TemplateSearch="<!-- INJECT0 -->";
|
||||
@@ -70,8 +80,9 @@ var jsonParser = bodyParser.json()
|
||||
var urlencodedParser = bodyParser.urlencoded({ extended: false })
|
||||
|
||||
app.get('/', (req, res) => {
|
||||
res.send(RangeHTML);
|
||||
// res.send(PlurHTML);
|
||||
let kind=hashindex(req.socket.remoteAddress+"salt",2);
|
||||
if (kind==0) res.send(RangeHTML);
|
||||
else res.send(PlurHTML);
|
||||
})
|
||||
|
||||
function lerp(a,b,c,d,e)
|
||||
@@ -104,6 +115,7 @@ function AddToRangeResult(vote,mult=1)
|
||||
|
||||
function RangeVote(ip,entries)
|
||||
{
|
||||
console.log('IP: '+ip);
|
||||
let r0=null,r1=null;
|
||||
for (let [key,val] of entries) if (typeof(key)=="string" && val>=0)
|
||||
{
|
||||
@@ -129,11 +141,11 @@ function RangeVote(ip,entries)
|
||||
// POST /login gets urlencoded bodies
|
||||
app.post('/range_vote', urlencodedParser, function (req, res) {
|
||||
RangeVote(req.socket.remoteAddress,Object.entries(req.body));
|
||||
let str="Results:<br>";
|
||||
let str="Results from "+RangeVotes.size+" Voters:<br>";
|
||||
for (let c of Candidates)
|
||||
{
|
||||
let key=CanId(c);
|
||||
if (RangePower.get(key)>0) str=str+c+': '+Math.round(RangeResult.get(key)/RangePower.get(key))+'<br>';
|
||||
if (RangePower.get(key)>0) str=str+c+': '+Math.round(RangeResult.get(key)/RangePower.get(key))+'%<br>';
|
||||
}
|
||||
res.send(str);
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user