Version 2, last updated by peter svensson at February 24, 2007 08:09 UTC
UpcoingOrgInfotron
This blueprint is supposed to be connected upstreams to an ajaxwrapper which feed data from the Upcoming.org events site API, so it is kind of specialized. However it is a good template for when you need to do some similar scraping.
BLUEPRINT(
"~01E0DFBB311ED2450cA5AF88A762A653BA",
[
["xml_json_in", "onJsonXml", 10]
],
[
"collection_out"
],
function (Class)
{
Class.prototype.onJsonXml = function(msg)
{
var coll = [];
var n, event, events;
try {
events = msg.children;
n = events.length;
} catch (ex) {
this.error(ex, "malformed JSON RSS output");
return;
/*****************************************************************/
}
for (i = 0; i < n; i++) {
event = events[i];
if (event.attributes) {
coll.push({name:event.attributes["name"],
text_content:event.attributes["description"],
lat:parseFloat(event.attributes["latitude"]),
lon:parseFloat(event.attributes["longitude"]),
date:[new Date(event.attributes["start_date"].replace(/-/g, "/") + " " + event.attributes["start_time"]),
new Date(event.attributes["end_date"].replace(/-/g, "/") + " " + event.attributes["end_time"])]});
}
}
this.postMessage("collection_out", coll);
};
}, "Upcoming.org XML JSON to Collection");