1 /** The osmplayer namespace. */ 2 var osmplayer = osmplayer || {}; 3 4 /** The parser object. */ 5 osmplayer.parser = osmplayer.parser || {}; 6 7 /** 8 * The youtube parser object. 9 * 10 * @return {object} The youtube parser. 11 **/ 12 osmplayer.parser.youtube = { 13 14 // The priority for this parser. 15 priority: 10, 16 17 // Return if this is a valid youtube feed. 18 valid: function(feed) { 19 return (feed.search(/^http(s)?\:\/\/gdata\.youtube\.com/i) === 0); 20 }, 21 22 // Returns the type of request to make. 23 getType: function(feed) { 24 return 'jsonp'; 25 }, 26 27 // Returns the feed provided the start and numItems. 28 getFeed: function(feed, start, numItems) { 29 feed = feed.replace(/(.*)\??(.*)/i, '$1'); 30 feed += '?start-index=' + (start + 1); 31 feed += '&max-results=' + (numItems); 32 feed += '&v=2&alt=jsonc'; 33 return feed; 34 }, 35 36 // Parse the feed. 37 parse: function(data) { 38 data = data.data; 39 var playlist = { 40 total_rows: data.totalItems, 41 nodes: [] 42 }; 43 44 // Iterate through the items and parse it. 45 var node = null; 46 for (var index in data.items) { 47 if (data.items.hasOwnProperty(index)) { 48 node = minplayer.players.youtube.parseNode(data.items[index]); 49 playlist.nodes.push(node); 50 } 51 } 52 53 return playlist; 54 } 55 }; 56