Version 2, last updated by peter svensson at Feb 24 15:09 2007 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");