#!/usr/bin/perl my $ver = 'v001'; use strict; use daveperl; # Framechannel Device reference: # http://www.streamingmeemee.com/wp-content/uploads/2011/06/FrameChannel-Certification-Checklist-v20.pdf # picasa rss feed: #my $rss_in = cat_file($ARGV[0]); my $url = $ARGV[0]; if (! defined $url) { $url = 'https://picasaweb.google.com/data/feed/base/user/113434799782645457166/albumid/5643716389836437457?alt=rss&kind=photo&hl=en_US' } use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $res = $ua->get($url); my $rss_in = $res->content; use XML::TreePP; my $parser = XML::TreePP->new(); my $feed = $parser->parse($rss_in); use Data::Dumper; #print Dumper( $feed ); dprintf1 "rss: '%s'\n", $feed->{rss}; dprintf1 "chn: '%s'\n", $feed->{rss}->{channel}; dprintf1 "itm: '%s'\n", $feed->{rss}->{channel}->{item}; sub get_urls { my @urls = (); foreach my $item (@{$feed->{rss}->{channel}->{item}}) { #print Dumper( $item ); dprintf2 "item keys: '%s'\n", join(",", keys %$item); my $mg = $item->{'media:group'}; dprintf2 "mg (%s) keys: '%s'\n", $mg, join(",", keys %$mg); my $tn_aref = $mg->{'media:thumbnail'}; #printf "tn_aref: '%s'\n", $tn_aref; my @tns = @{$tn_aref}; my $biggest_tn = pop @tns; #rint Dumper( $biggest_tn ); my $height = $biggest_tn->{'-height'}; my $width = $biggest_tn->{'-width'}; my $max_dimension; my $replace_tn; if ($height > $width) { $max_dimension = $height; $replace_tn = 's768'; } else { $max_dimension = $width; $replace_tn = 's1024'; } my $url = $biggest_tn->{'-url'}; # https://lh4.googleusercontent.com/-JBBhqtOSUVQ/SfSWaZfW3zI/AAAAAAABIDU/-yKBl-9_MKs/s288/DSC_0190.JPG my @parts = split('/', $url); $parts[-2] = $replace_tn; my $new_url = join('/', @parts); $new_url =~ s/^https/http/; push @urls, $new_url; } return @urls; } # TTL is in minutes # Putting in here will make the device sleep #- #- #inactive_frame #FALSE print ' 2 faked framechannel rss feed '.$ver.' '; my $nr = 0; foreach my $url (get_urls()) { # media:duration is in seconds #30 printf ' img %s faked by dave script '."\n", $nr, $url; $nr++; } print " \n";