Skip to content

Instantly share code, notes, and snippets.

@darwin
Forked from JPalounek/Extractor.js
Created March 31, 2012 16:16
Show Gist options
  • Save darwin/2266462 to your computer and use it in GitHub Desktop.
Save darwin/2266462 to your computer and use it in GitHub Desktop.
Extractor
var GooDataExtractor = function () {};
GooDataExtractor.prototype.extract = function (key, delimiter) {
console.log(key);
console.log(delimiter);
var importedData = this.mineAndParseContentToArray(key);
return importedData;
}
GooDataExtractor.prototype.parseContentToArray = function (data) {
var parsed = new Array();
parsed['/-Posts-B2/'] = 'Ahoj';
parsed['/-Posts-B3/'] = 'Ahoj!!!';
return parsed;
}
GooDataExtractor.prototype.mineData = function (key, sheet, cb) {
var fs = require('fs'),
eyes = require('eyes'),
xml2js = require('xml2js'),
http = require('http');
var parser = new xml2js.Parser();
var rawData = "";
var link = '/feeds/cells/' + key + '/' + sheet + '/public/values';
var options = {
host: 'spreadsheets.google.com',
port: 80,
path: link
};
http.get(options, function(res) {
res.setEncoding('utf-8')
res.on('data', function (chunk) {
rawData += chunk;
});
res.on('done', function () {
cb(rawData);
});
})
}
GooDataExtractor.prototype.mineAndParseContentToArray = function (key) {
var sheets = [];
var f = function(sheet) {
this.mineData(key, sheet, function(xml) {
if (xml=="done") {
return;
}
sheets[sheet] = xml;
console.log("xml: %s", xml);
f(sheet+1);
});
};
f(1);
}
module.exports = GooDataExtractor;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment