Skip to content

Instantly share code, notes, and snippets.

@darwin
Forked from JPalounek/Extractor
Created April 10, 2012 15:15
Show Gist options
  • Save darwin/2352066 to your computer and use it in GitHub Desktop.
Save darwin/2352066 to your computer and use it in GitHub Desktop.
var GooDataExtractor = function () {};
GooDataExtractor.prototype.extract = function (key, delimiters, target, callback) {
this.mineData(key, 1, function (data) {
delimiters = delimiters.replace(' ', '');
delimiters = delimiters.split(',');
console.log(data);
callback(GooDataExtractor.prototype.parseContentToArray(delimiters, data), target);
});
}
GooDataExtractor.prototype.parseContentToArray = function (delimiters, data) {
var parsed = new Array();
parsed[delimiters[0] + 'Posts-B2' + delimiters[1]] = 'Data 1';
parsed[delimiters[0] + 'Posts-B3' + delimiters[1]] = 'Data 2';
return parsed;
}
GooDataExtractor.rawData = '';
GooDataExtractor.sheetNumber = 1;
GooDataExtractor.prototype.mineData = function (key, sheet, callback) {
var http = require('http');
var state = '';
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('end', function () {
if(rawData.length < 60) {
if(GooDataExtractor.rawData.substring(0, 9) == 'undefined') {
GooDataExtractor.rawData = GooDataExtractor.rawData.substring(9, GooDataExtractor.rawData.length);
}
console.log(GooDataExtractor.rawData);
callback(GooDataExtractor.rawData);
} else {
GooDataExtractor.rawData += rawData;
GooDataExtractor.sheetNumber++;
GooDataExtractor.prototype.mineData(key, GooDataExtractor.sheetNumber);
rawData = '';
}
});
})
}
module.exports = GooDataExtractor;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment