#!/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";