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;i/g,"");}
val=val.replace(/\ /g," ");val=val.replace(/\</g,"<");val=val.replace(/\>/g,">");val=val.replace(/\—/g,"--");val=val.replace(/\—/g,"--");val=val.replace(/^\s+|\s+$/g,"");return val;}
Class.prototype._onClick=function(t)
{while(t&&!t.eform){t=t.parentNode;}
if(t){self.postMessage("clicked_item_out",t.eform);}};Class.prototype._mapItem=function(item,o)
{var m,elems,tag_name,key,val;var i=0,delta={},self=this;function _onClick(e)
{var t;e=e||window.event;t=e.target||e.srcElement;self._onClick(t);};o.eform=item;o.onclick=_onClick;elems=o.getElementsByTagName("*");m=elems.length;for(j=0;ji){this.debug((members.length-i)+" items overflowed.");this.postMessage("overflown_items_out",members.slice(i));}else{this.warning("Collection came in, but it had no items. Please check to make sure your data source is filled with content. Perhaps its items have all been removed, or the data provider is no longer providing data?")}};});