This commit is contained in:
2023-10-18 13:35:13 -04:00
2 changed files with 30 additions and 13 deletions

24
filechunker.js Normal file
View File

@@ -0,0 +1,24 @@
fs=require("fs")
class FileChunker {
constructor(fname) {
this.Chunks=[];
let Template=fs.readFileSync(fname).toString();
let pattern="<!-- INJECT -->";
let offset=0;
do {
let nextOffset=Template.indexOf(pattern,offset);
if (nextOffset>=0) {
this.Chunks.push(Template.substring(offset,nextOffset));
offset=nextOffset+pattern.length;
}
else {
this.Chunks.push(Template.substring(offset));
offset=-1;
}
} while (offset>0);
}
}
module.exports=FileChunker;

View File

@@ -2,13 +2,12 @@ var express = require('express')
var bodyParser = require('body-parser')
var fs=require('fs')
var hashindex=require('hash-index')
var fc=require('./filechunker.js')
var fc=require("./filechunker.js");
var app = express()
var PlurVoteTemplate=fc("./plurvote.html");
console.log(PlurVoteTemplate);
console.log("Foo!");
var TemplateVoteRange=new fc("./rangevote.html");
var TemplateVotePlur =new fc("./plurvote.html");
var Candidates=[
@@ -99,10 +98,8 @@ for (let c of Candidates)
RangeHTML=RangeHTML+' <tr>'+
' <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 -->";
var TemplateIndex=TemplateHTML.indexOf(TemplateSearch);
RangeHTML=TemplateHTML.substr(0,TemplateIndex)+RangeHTML+TemplateHTML.substr(TemplateIndex+TemplateSearch.length,1000000);
RangeHTML=TemplateVoteRange.Chunks[0]+RangeHTML+TemplateVoteRange.Chunks[1];
// Construct the static page for Plurality Voting
var PlurHTML="";
@@ -111,10 +108,7 @@ for (let c of Candidates)
PlurHTML=PlurHTML+' <tr>'+
' <td><input type="radio" value="v-'+CanId(c)+'" name="pick" /></td><td>'+c+'</td></tr>\n';
}
TemplateHTML=fs.readFileSync("plurvote.html").toString();
TemplateSearch="<!-- INJECT0 -->";
TemplateIndex=TemplateHTML.indexOf(TemplateSearch);
PlurHTML=TemplateHTML.substr(0,TemplateIndex)+PlurHTML+TemplateHTML.substr(TemplateIndex+TemplateSearch.length,1000000);
PlurHTML=TemplateVotePlur.Chunks[0]+PlurHTML+TemplateVotePlur.Chunks[1];
// create application/json parser
@@ -164,7 +158,6 @@ 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)
{