Flickr-Upload-FireEagle
view release on metacpan or search on metacpan
lib/Flickr/Upload/FireEagle.pm view on Meta::CPAN
# Do some final sanity checking if we know what our lat, lon is
elsif ($has_gps){
# please cache me...
my ($lat, $lon) = $self->gps_exif_to_latlon($info);
try {
my $res = $self->flickr_api_call('flickr.places.findByLatLon', {'lat' => $lat, 'lon' => $lon});
my $xml = XML::XPath->new('xml' => $res->decoded_content());
my $fe_placeid = $ctx->findvalue("place-id");
my $fl_placeid = $xml->findvalue("/rsp/places/place/\@place_id")->string_value();;
if ($fe_placeid ne $fl_placeid){
warn "Mismatch between Flickr and FireEagle place IDs ($fl_placeid, $fe_placeid) based on lat/lon, deferring to Flickr";
my $fe_id = $ctx->findvalue("id")->string_value();
$ctx = undef;
lib/Flickr/Upload/FireEagle.pm view on Meta::CPAN
return join(" ", @tags);
}
sub fetch_places_name {
my $self = shift;
my $placeid = shift;
try {
my $res = $self->flickr_api_call('flickr.places.resolvePlaceId', {'place_id' => $placeid});
my $xml = XML::XPath->new('xml' => $res->decoded_content());
return $xml->findvalue("/rsp/location/\@name");
}
catch Error with {
# pass
};
}
#
lib/Flickr/Upload/FireEagle.pm view on Meta::CPAN
sub tagify_like_delicious {
my $self = shift;
my $tag = shift;
$tag =~ s/\s//g;
return lc($tag);
}
#
# Just so so so wrong...but necessary until Flickr::Upload
# is updated to call $res->decoded_content()
#
sub upload_request($$) {
my $self = shift;
die "$self is not a LWP::UserAgent" unless $self->isa('LWP::UserAgent');
my $req = shift;
die "expecting a HTTP::Request" unless $req->isa('HTTP::Request');
my $res = $self->request( $req );
my $tree = XML::Parser::Lite::Tree::instance()->parse($res->decoded_content());
return () unless defined $tree;
my $photoid = response_tag($tree, 'rsp', 'photoid');
my $ticketid = response_tag($tree, 'rsp', 'ticketid');
unless( defined $photoid or defined $ticketid ) {
print STDERR "upload failed:\n", $res->content(), "\n";
return undef;
}
return (defined $photoid) ? $photoid : $ticketid;
( run in 0.328 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )