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");
No comments yet. >