googleanalytics
Advanced tools
Comparing version 0.2.0 to 0.3.0
var https = require('https') | ||
,querystring = require('querystring') | ||
,emitter = require('events').EventEmitter | ||
,DOMParser= require('xmldom').DOMParser | ||
,$ = require('jquery') | ||
,inherits = function (ctor, superCtor) { | ||
@@ -98,6 +97,6 @@ ctor.super_ = superCtor; | ||
var data_url = "/analytics/feeds/data?" + querystring.stringify(options); | ||
var data_url = "/analytics/v3/data/ga?" + querystring.stringify(options); | ||
var get_options = { | ||
host: 'www.google.com', | ||
host: 'www.googleapis.com', | ||
port: 443, | ||
@@ -120,34 +119,42 @@ path: data_url, | ||
res.on('end', function() { | ||
var entries = []; | ||
var entries = [] | ||
,metric_index | ||
,metric | ||
,dimension | ||
,dimension_index; | ||
var data_data = combineChunks(chunks, length).toString(); | ||
var doc = new DOMParser().parseFromString(data_data); | ||
$(doc).find('entry').each(function(){ | ||
var entry = {metrics:[], dimensions:[]}; | ||
$(this).children() | ||
.filter(function() { | ||
return ($(this).prop('tagName') === 'dxp:metric' | ||
|| $(this).prop('tagName') === 'dxp:dimension'); | ||
}).each(function(){ | ||
var item =$(this); | ||
var metric = false; | ||
if (item.prop('tagName') === "dxp:metric") { | ||
metric = true; | ||
} | ||
if (item.attr('name') && item.attr('value')) { | ||
var o = {}; | ||
o[item.attr('name')] = (isNaN(item.attr('value'))) ? item.attr('value') : parseInt(item.attr('value'), 10); | ||
if (metric) { | ||
entry.metrics.push(o); | ||
} else { | ||
entry.dimensions.push(o); | ||
} | ||
} | ||
}); | ||
if (entry.metrics.length > 0 || entry.dimensions.length > 0) { | ||
self.emit('entry', entry); | ||
entries.push(entry); | ||
} | ||
}); | ||
var parsed_data = JSON.parse(data_data); | ||
if (typeof cb === 'function' ) cb(null, entries) | ||
for (var col=0; col<parsed_data.columnHeaders.length; col++){ | ||
if(parsed_data.columnHeaders[col]['columnType'] === "METRIC"){ | ||
metric_index = col; | ||
metric = parsed_data.columnHeaders[col]; | ||
} | ||
if(parsed_data.columnHeaders[col]['columnType'] === "DIMENSION"){ | ||
dimension_index = col; | ||
dimension = parsed_data.columnHeaders[col]; | ||
} | ||
} | ||
for (i=0; i<parsed_data.rows.length; i++){ | ||
var entry = {metrics:[], dimensions:[]}; | ||
var object_metric = {}; | ||
object_metric[metric.name] = parseInt(parsed_data.rows[i][metric_index], 10); | ||
entry.metrics.push(object_metric); | ||
var object_dimension = {}; | ||
object_dimension[dimension.name] = parsed_data.rows[i][dimension_index]; | ||
entry.dimensions.push(object_dimension); | ||
self.emit('entry', entry); | ||
entries.push(entry); | ||
} | ||
if (typeof cb === 'function' ) cb(null, entries); | ||
}); | ||
@@ -154,0 +161,0 @@ }); |
@@ -5,6 +5,7 @@ { | ||
"description": "Google Analytics library.", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"author": "Nick Campbell (http://github.com/ncb000gt)", | ||
"contributors": [ | ||
{ "name": "Brian Zeligson (http://github.com/beezee)", "email": "brian.zeligson@gmail.com" } | ||
{ "name": "Brian Zeligson (http://github.com/beezee)", "email": "brian.zeligson@gmail.com" }, | ||
{ "name": "Mike Schierberl (http://github.com/mschierberl)", "email": "mike@schierberl.com" } | ||
], | ||
@@ -20,7 +21,3 @@ "engines": { "node": ">= 0.4.0" }, | ||
} | ||
], | ||
"dependencies": { | ||
"xmldom" : "" | ||
,"jquery" : "" | ||
} | ||
] | ||
} |
Bad dependency semver
QualityPackage has dependencies with an invalid semantic version. This could be a sign of beta, low quality, or unmaintained dependencies.
Found 2 instances in 1 package
0
2
8293
157