diff --git a/filechunker.js b/filechunker.js new file mode 100644 index 0000000..36dd2f5 --- /dev/null +++ b/filechunker.js @@ -0,0 +1,24 @@ +fs=require("fs") + +class FileChunker { + constructor(fname) { + this.Chunks=[]; + let Template=fs.readFileSync(fname).toString(); + let pattern=""; + 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; + diff --git a/rangevote.js b/rangevote.js index 96bf82e..fa10aa7 100644 --- a/rangevote.js +++ b/rangevote.js @@ -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+' '+ ' '+c+'No Opinion\n'; } -var TemplateHTML=fs.readFileSync("rangevote.html").toString(); -var TemplateSearch=""; -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+' '+ ' '+c+'\n'; } -TemplateHTML=fs.readFileSync("plurvote.html").toString(); -TemplateSearch=""; -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) {