Skip to content

Commit

Permalink
Add sample project to compute distinct values; Add white-list to run
Browse files Browse the repository at this point in the history
script and more config options
  • Loading branch information
garysieling committed Jul 9, 2012
1 parent e2ed479 commit db87340
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 6 deletions.
1 change: 1 addition & 0 deletions config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ exports.method = "json";
exports.file = "data-output/output.json";
exports.project = "project.js";
exports.parseFolder = "";
exports.parseFolder = "";
32 changes: 32 additions & 0 deletions json-output.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,35 @@ exports.select_response = function(sql, response)
response.end();
}

exports.write_value = function(type, key, value)
{
var file = __dirname + '/' + require('./config').file + "-" + type;

var fs = require('fs');
var fileOut = fs.createWriteStream(file, {'flags': 'a'});

var writeVal;
if (key !=='')
{
writeVal ="'" + key + "':" + value;
}
else
{
writeVal = value;
}
writeVal += "\n";
fileOut.write(writeVal);
}

exports.read_values = function(type)
{
var fs = require('fs');
var data = fs.readFileSync(require('./config').file + "-" + type, 'utf8');

if (!data)
{
return [];
}
console.log("data:" + data);
return data.split("\n");
}
37 changes: 37 additions & 0 deletions project-distinct.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
exports.get_parser = function (document, server)
{
var values = document.getElementsByClassName('status-text');
var valueText = '';
for (var i = 0; i < values.length; i++)
{
valueText += values[i].innerText + ",";
}

if (values.length > 0)
{
valueText = valueText.substring(0, valueText.length - 1);
}

var url = document.location.href;
if (url.indexOf("/") >= 0) {
url = url.substring(url.lastIndexOf("/") + 1);
}

valueText = url + "," + valueText;
valueText.replace(/^\s*/, '').replace(/\s*$/, '');


server('set_data', valueText);
};

exports.set_data = function(request, response, data)
{
console.log('setting data ' + data);
var values = require('./util').read_values('status');

if (values.indexOf(data) === -1)
{
require('./util').write_value('status', '', data);
}
response.end();
}
32 changes: 26 additions & 6 deletions run.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ var require = function(file)
{
return eval("new function(){ var exports={}; " +
new ActiveXObject("Scripting.FileSystemObject").
OpenTextFile(file,1).ReadAll() + "; return exports }");
OpenTextFile(file + '.js',1).ReadAll() + "; return exports }");


}

var config = require('./config');
var workingDir = "<directory of this script>";
var startTime = Date()
console.log(startTime)
Expand Down Expand Up @@ -53,6 +54,10 @@ for (var i = 0; i < args.length; i++) {

if ("--exclude" === args(i) || "-e" === args(i))
excludeFile = args(++i)


if ("--include" === args(i) || "-i" === args(i))
includeFile = args(++i)
}

if (resume)
Expand All @@ -63,14 +68,28 @@ if (resume)
file.close()
}

var exclude = []
var include = {}
if (includeFile !== "")
{
var obj = WSH.CreateObject("Scripting.FileSystemObject")
var path = workingDir + includeFile
var file = obj.OpenTextFile(path, 1)

while( !file.AtEndOfStream )
{
var key = file.ReadLine()
include[key] = true
}

file.close()
}
var exclude = {}
if (excludeFile !== "")
{
var obj = WSH.CreateObject("Scripting.FileSystemObject")
var path = workingDir + excludeFile
var file = obj.OpenTextFile(path, 1)

exclude = {}
while( !file.AtEndOfStream )
{
var key = file.ReadLine()
Expand All @@ -81,13 +100,13 @@ if (excludeFile !== "")
}

var chrome="<insert path to Chrome executable>";
var path=require('./config.js').parseFolder;
var path=config.parseFolder;
var directoryObj = new ActiveXObject("Scripting.FileSystemObject")
var directory = directoryObj.GetFolder(path)
var data="<temp folder name here>";
var chromeArgs = " --user-data-dir=$data --incognito --disable-sync-autofill-profile --disable-sync --disable-java --disable-javascript --disable-local-storage --disable-preconnect --disable-restore-background-contents --disable-restore-session-state --dns-prefetch-disable --disable-images --disable-metrics --disable-metrics-reporting --disable-login-animations";

var filematch="^[0-9]+-"
var filematch = config.filematch;
var fileRegex = new RegExp(filematch);
var shell = new ActiveXObject("WScript.Shell");

Expand Down Expand Up @@ -133,7 +152,8 @@ function loadChrome() {
if (exclude[filename] && verbose)
console.log("Skipping " + filename)

while ((!fileRegex.test(filename)) && !files.atEnd()) {
while ((!fileRegex.test(filename)) && !files.atEnd()
|| (includeFile.length > 0 && !include[filename]) ) {
files.moveNext()
filename = files.item().name;
}
Expand Down
4 changes: 4 additions & 0 deletions util.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ exports.select_response = function(sql, response)
require('./' + require('./config').method + '-output').select_response(sql, response);
}

exports.write_value = function(type, key, value)
{
require('./' + require('./config').method + '-output').write_value(type, key, value);
}

0 comments on commit db87340

Please sign in to comment.