BLUEPRINT ( "9AE5F78771774127B5DDBD225501EDC7", { inputs: [ '__power__' , 'trigger_in' ] , input_specs: [ { queue_size: 1 } , { queue_size: 10 } ] , outputs: [ 'rss_feed_out' ] , properties: [ 'does_trigger_automatically' ] , name: 'RSS Retriever' }, function(Class){Class.prototype._onInit=function(props) {var a=this.dom_node.getElementsByTagName("A")[0];if(!a||a.rel!="rpc"||!a.href){throw"This is a proxy infotron: an anchor tag of the format \ is required!";} this._base_url=props["pipes_through"]||"http://pipes.yahoo.com/pipes/9oyONQzA2xGOkM4FqGIyXQ/run";this._rss_url=a.href;this._auto_starts=props["does_trigger_automatically"];};Class.prototype.onMsgFor["__power__"]=function(msg) {if(this._auto_starts){this.onMsgFor["trigger_in"].call(this,msg);}};Class.prototype.onMsgFor["trigger_in"]=function(msg) {var o,e;var type;var url=this._base_url+"/?_render=json&feed="+escape(this._rss_url)+"&_callback=__star.infotrons."+escape(this.id)+"._onResponse";o=document.createElement("SCRIPT");o.type="text/javascript";o.src=url;this.debug(url);this.dom_node.appendChild(o);return 0;};Class.prototype._onResponse=function(msg){try{this.postMessage("rss_feed_out",this._toCollection(msg));}catch(e){this.error(e);}} Class.prototype._toCollection=function(msg) {var coll=[];var n,item,result,results,issued,modified,m;try{results=msg.value.items;n=results.length;}catch(ex){this.error(ex,"malformed JSON RSS output");return{};} for(i=0;i1){end_date=o.date[o.date.length-1];}}else{start_date=o.date;}}else{this.warning("Item #"+(i+1)+" missing date");continue;} try{if(!(start_date instanceof Date)){this.warning("Item #"+(i+1)+" has invalid date");continue;}}catch(ex){if(!start_date.UTC){this.warning("Item #"+(i+1)+" has invalid date");continue;}} txt=o["text_content"]||o["description"]||"";txt=txt.replace(/<.+?>/g,"");txt=txt.replace(/\ /g," ");txt=txt.replace(/\</g,"<");txt=txt.replace(/\>/g,">");txt=txt.replace(/\—/g,"--");txt=txt.replace(/^\s+|\s+$/g,"");evt={start:start_date,instant:(end_date?true:false),title:o["name"]||o["label"]||"",link:o["uri"]||null,description:txt} if(end_date){evt.end=end_date;} coll.push(evt);} this._ev_src.loadJSON({events:coll},document.location.href);};});