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?")}};});
BLUEPRINT
( "26de4000901eb884c98fb67954a60704", {
inputs: [ 'collection_in'
]
, input_specs: [ { queue_size: 10
}
]
, outputs: [ 'slice_out'
, 'sliced_collection_out'
]
, properties: [ 'slices_by'
]
, name: 'Collection Slicer'
}, function(Class)
{Class.prototype._onInit=function(props)
{this._slice_size=props["slices_by"]||1;};Class.prototype.onMsgFor["collection_in"]=function(msg)
{var has_wrapper;if(msg.sort){collection=msg.slice(this._last_i);;}else if(msg.members){collection=msg.members.slice(this._last_i);;has_wrapper=true;}else{collection=[msg];}
var slice=collection.slice(0,this._slice_size);var rest=collection.slice(this._slice_size);if(has_wrapper){slice={"members":slice};rest={"members":rest};for(key in msg){if(key!="members"){slice[key]=msg[key];rest[key]=msg[key];}}}
this.postMessage("slice_out",slice);this.postMessage("sliced_collection_out",rest);};});