|
NAMENet::Flickr::Backup - OOP for backing up your Flickr photos locallySYNOPSISuse Net::Flickr::Backup; use Log::Dispatch::Screen; my $flickr = Net::Flickr::Backup->new($cfg); my $feedback = Log::Dispatch::Screen->new('name' => 'info', 'min_level' => 'info'); $flickr->log()->add($feedback); $flickr->backup(); DESCRIPTIONOOP for backing up your Flickr photos locally.OPTIONSOptions are passed to Net::Flickr::Backup using a Config::Simple object or a valid Config::Simple config file. Options are grouped by "block".flickr
backup
rdf
iptc
searchAny valid parameter that can be passed to the flickr.photos.search method except 'user_id' which is pre-filled with the user_id that corresponds to the flickr.auth_token token.modified_sinceString.This specifies a time-based limiting criteria for fetching photos. The syntax is (n)(modifier) where (n) is a positive integer and (modifier) may be one of the following :
PACKAGE METHODS__PACKAGE__->new($cfg)Returns a Net::Flickr::Backup object.OBJECTS METHODS YOU SHOULD CARE ABOUT$obj->backup()Returns true or false.OBJECT METHODS YOU MAY CARE ABOUT$obj->backup_photo($id,$secret)Backup an individual photo. This method is called internally by backup.$obj->scrub()Returns true or false.$obj->cancel_backup()Cancel the backup process as soon as the current photo backup is complete.$obj->register_callback($name, \&func)This method is still considered experimental and may be removed.Valid callback triggers are :
Returns true or false, if $func is not a valid code reference. $obj->namespaces()Returns a hash ref of the prefixes and namespaces used by Net::Flickr::RDFThe default key/value pairs are :
Net::Flickr::Backup adds the following namespaces :
$obj->namespace_prefix($uri)Return the namespace prefix for $uri$obj->uri_shortform($prefix,$name)Returns a string in the form of prefix:property. The property is the value of $name. The prefix passed may or may be the same as the prefix returned depending on whether or not the user has defined or redefined their own list of namespaces.The prefix passed to the method is assumed to be one of prefixes in the default list of namespaces. $obj->make_photo_triples(\%data)Returns an array ref of array refs of the meta data associated with a photo ( %data).If any errors are unencounter an error is recorded via the log method and the method returns undef. $obj->namespace_prefix($uri)Return the namespace prefix for $uri$obj->uri_shortform($prefix,$name)Returns a string in the form of prefix:property. The property is the value of $name. The prefix passed may or may be the same as the prefix returned depending on whether or not the user has defined or redefined their own list of namespaces.The prefix passed to the method is assumed to be one of prefixes in the default list of namespaces. $obj->api_call(\%args)Valid args are :
If the method encounters any errors calling the API, receives an API error or can not parse the response it will log an error event, via the log method, and return undef. Otherwise it will return a XML::LibXML::Document object (if XML::LibXML is installed) or a XML::XPath object. $obj->log()Returns a Log::Dispatch object.EXAMPLESCONFIG FILESThis is an example of a Config::Simple file used to back up photos tagged with 'cameraphone' from Flickr[flickr] api_key=asd6234kjhdmbzcxi6e323 api_secret=s00p3rs3k3t auth_token=123-omgwtf4u api_handler=LibXML [search] tags=cameraphone per_page=500 [backup] photos_root=/home/asc/photos scrub_backups=1 fetch_medium=1 fetch_square=1 force=0 [rdf] do_dump=1 rdfdump_root=/home/asc/photos RDFThis is an example of an RDF dump for a photograph backed up from Flickr (using Net::Flickr::RDF) :<?xml version='1.0'?> <rdf:RDF xmlns:geoname="http://www.geonames.org/onto#" xmlns:a="http://www.w3.org/2000/10/annotation-ns" xmlns:ph="http://www.machinetags.org/wiki/ph#camera" xmlns:filtr="http://www.machinetags.org/wiki/filtr#process" xmlns:nfr_geo="http://www.machinetags.org/wiki/geo#debug" xmlns:place="x-urn:flickr:place:" xmlns:exif="http://nwalsh.com/rdf/exif#" xmlns:mt="x-urn:flickr:machinetag:" xmlns:exifi="http://nwalsh.com/rdf/exif-intrinsic#" xmlns:geonames="http://www.machinetags.org/wiki/geonames#feature" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:acl="http://www.w3.org/2001/02/acls#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:flickr="x-urn:flickr:" > <flickr:user rdf:about="http://www.flickr.com/people/72238590@N00"> <foaf:mbox_sha1sum>2fc2c76d7634d1a6446b1898bf5471205ed3d0cb</foaf:mbox_sha1sum> <foaf:name></foaf:name> <foaf:nick>thincvox</foaf:nick> </flickr:user> <flickr:tag rdf:about="http://www.flickr.com/photos/35034348999@N01/tags/filtr:process=filtr"> <skos:altLabel>filtr</skos:altLabel> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <skos:broader rdf:resource="http://www.flickr.com/photos/tags/filtr:process=filtr"/> <skos:prefLabel rdf:resource="filtr:process=filtr"/> </flickr:tag> <geoname:Feature rdf:about="http://ws.geonames.org/rdf?geonameId=5400754"> <geoname:featureCode>PPLX</geoname:featureCode> <geoname:countryCode>US</geoname:countryCode> <geoname:regionCode>CA</geoname:regionCode> <geoname:gtopo30>58</geoname:gtopo30> <geoname:region>State of California</geoname:region> <geoname:city>San Francisco County</geoname:city> <dc:isReferencedBy rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </geoname:Feature> <flickr:machinetag rdf:about="http://www.machinetags.org/wiki/geonames#feature"> <mt:predicate>feature</mt:predicate> <mt:namespace>geonames</mt:namespace> <dc:isReferencedBy rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </flickr:machinetag> <dcterms:StillImage rdf:about="http://farm1.static.flickr.com/232/522214395_d2841bdbb0_o.jpg"> <dcterms:relation>Original</dcterms:relation> <exifi:height>1944</exifi:height> <exifi:width>2592</exifi:width> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395#exif"/> </dcterms:StillImage> <flickr:tag rdf:about="http://www.flickr.com/photos/tags/cameraphone"> <skos:prefLabel>cameraphone</skos:prefLabel> </flickr:tag> <flickr:tag rdf:about="http://www.flickr.com/photos/35034348999@N01/tags/filtr"> <skos:prefLabel>filtr</skos:prefLabel> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <skos:broader rdf:resource="http://www.flickr.com/photos/tags/filtr"/> </flickr:tag> <rdf:Description rdf:about="http://www.flickr.com/photos/35034348999@N01/522214395#exif"> <exif:flash>Flash did not fire, auto mode</exif:flash> <exif:digitalZoomRatio>100/100</exif:digitalZoomRatio> <exif:isoSpeedRatings>100</exif:isoSpeedRatings> <exif:pixelXDimension>2592</exif:pixelXDimension> <exif:apertureValue>297/100</exif:apertureValue> <exif:pixelYDimension>1944</exif:pixelYDimension> <exif:focalLength>5.6 mm</exif:focalLength> <exif:dateTimeDigitized>2007-05-30T15:10:01PDT</exif:dateTimeDigitized> <exif:colorSpace>sRGB</exif:colorSpace> <exif:fNumber>f/2.8</exif:fNumber> <exif:dateTimeOriginal>2007-05-30T15:10:01PDT</exif:dateTimeOriginal> <exif:shutterSpeedValue>4351/1000</exif:shutterSpeedValue> <exif:exposureTime>0.049 sec (49/1000)</exif:exposureTime> </rdf:Description> <flickr:tag rdf:about="http://www.flickr.com/photos/35034348999@N01/tags/sanfrancisco"> <skos:prefLabel>san francisco</skos:prefLabel> <skos:altLabel>sanfrancisco</skos:altLabel> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <skos:broader rdf:resource="http://www.flickr.com/photos/tags/sanfrancisco"/> </flickr:tag> <flickr:tag rdf:about="http://www.flickr.com/photos/tags/sanfrancisco"> <skos:prefLabel>sanfrancisco</skos:prefLabel> </flickr:tag> <dcterms:StillImage rdf:about="http://farm1.static.flickr.com/232/522214395_ed16f959a2.jpg"> <dcterms:relation>Medium</dcterms:relation> <exifi:height>375</exifi:height> <exifi:width>500</exifi:width> <dcterms:isVersionOf rdf:resource="http://farm1.static.flickr.com/232/522214395_d2841bdbb0_o.jpg"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395#exif"/> </dcterms:StillImage> <flickr:tag rdf:about="http://www.flickr.com/photos/tags/geonames:feature=5405296"> <skos:altLabel>5405296</skos:altLabel> <skos:broader rdf:resource="http://www.machinetags.org/wiki/geonames#feature"/> <skos:prefLabel rdf:resource="geonames:feature=5405296"/> </flickr:tag> <flickr:tag rdf:about="http://www.flickr.com/photos/35034348999@N01/tags/cameraphone"> <skos:prefLabel>cameraphone</skos:prefLabel> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <skos:broader rdf:resource="http://www.flickr.com/photos/tags/cameraphone"/> </flickr:tag> <flickr:photoset rdf:about="http://www.flickr.com/photos/35034348999@N01/sets/72157594459261101"> <dc:description></dc:description> <dc:title>LOG (2007)</dc:title> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> </flickr:photoset> <flickr:comment rdf:about="http://www.flickr.com/photos/straup/522214395/#comment72157600293655654"> <dc:identifier>6065-522214395-72157600293655654</dc:identifier> <dc:created>2007-05-31T14:54:25</dc:created> <a:body>Kittens!</a:body> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <a:annotates rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </flickr:comment> <flickr:user rdf:about="http://www.flickr.com/people/35034348999@N01"> <foaf:mbox_sha1sum>587a68f90c4030a9b0c7d8ca6ff8549a8b40e5cd</foaf:mbox_sha1sum> <foaf:name>Aaron Straup Cope</foaf:name> <foaf:nick>straup</foaf:nick> </flickr:user> <flickr:tag rdf:about="http://www.flickr.com/photos/35034348999@N01/tags/ph:camera=n95"> <skos:altLabel>n95</skos:altLabel> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <skos:broader rdf:resource="http://www.flickr.com/photos/tags/ph:camera=n95"/> <skos:prefLabel rdf:resource="ph:camera=n95"/> </flickr:tag> <rdf:Description rdf:about="x-urn:flickr:comment"> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/10/annotation-nsAnnotation"/> </rdf:Description> <flickr:comment rdf:about="http://www.flickr.com/photos/straup/522214395/#comment72157600295486776"> <dc:identifier>6065-522214395-72157600295486776</dc:identifier> <dc:created>2007-06-01T00:19:05</dc:created> <a:body>here kitty, kitty, <a href="http://thincvox.com/audio_recordings/meow.mp3">meow</a></a:body> <dc:creator rdf:resource="http://www.flickr.com/people/72238590@N00"/> <a:annotates rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </flickr:comment> <flickr:tag rdf:about="http://www.flickr.com/photos/35034348999@N01/tags/geonames:feature=5405296"> <skos:altLabel>5405296</skos:altLabel> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <skos:broader rdf:resource="http://www.flickr.com/photos/tags/geonames:feature=5405296"/> <skos:prefLabel rdf:resource="geonames:feature=5405296"/> </flickr:tag> <flickr:machinetag rdf:about="http://www.machinetags.org/wiki/filtr#process"> <mt:predicate>process</mt:predicate> <mt:namespace>filtr</mt:namespace> <dc:isReferencedBy rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </flickr:machinetag> <flickr:machinetag rdf:about="http://www.machinetags.org/wiki/geo#debug"> <mt:predicate>debug</mt:predicate> <mt:namespace>geo</mt:namespace> <dc:isReferencedBy rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </flickr:machinetag> <flickr:photo rdf:about="http://www.flickr.com/photos/35034348999@N01/522214395"> <filtr:process>filtr</filtr:process> <nfr_geo:debug>namespace test</nfr_geo:debug> <acl:access>visbility</acl:access> <dc:title>Untitled #1180563722</dc:title> <ph:camera>n95</ph:camera> <dc:rights>All rights reserved.</dc:rights> <acl:accessor>public</acl:accessor> <dc:description></dc:description> <dc:created>2007-05-30T15:10:01-0700</dc:created> <dc:dateSubmitted>2007-05-30T15:18:39-0700</dc:dateSubmitted> <geonames:feature>5405296</geonames:feature> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <dc:subject rdf:resource="http://www.flickr.com/photos/35034348999@N01/tags/sanfrancisco"/> <dc:subject rdf:resource="http://www.flickr.com/photos/35034348999@N01/tags/ph:camera=n95"/> <dc:subject rdf:resource="http://www.flickr.com/photos/35034348999@N01/tags/geonames:feature=5405296"/> <dc:subject rdf:resource="http://www.flickr.com/photos/35034348999@N01/tags/geo:debug=namespacetest"/> <dc:subject rdf:resource="http://www.flickr.com/photos/35034348999@N01/tags/filtr:process=filtr"/> <dc:subject rdf:resource="http://www.flickr.com/photos/35034348999@N01/tags/filtr"/> <dc:subject rdf:resource="http://www.flickr.com/photos/35034348999@N01/tags/cameraphone"/> <dcterms:isPartOf rdf:resource="http://www.flickr.com/photos/35034348999@N01/sets/72157594459261101"/> <a:hasAnnotation rdf:resource="http://www.flickr.com/photos/straup/522214395/#comment72157600295486776"/> <a:hasAnnotation rdf:resource="http://www.flickr.com/photos/straup/522214395/#comment72157600293655654"/> <geo:Point rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395#location"/> </flickr:photo> <dcterms:StillImage rdf:about="http://farm1.static.flickr.com/232/522214395_ed16f959a2_t.jpg"> <dcterms:relation>Thumbnail</dcterms:relation> <exifi:height>75</exifi:height> <exifi:width>100</exifi:width> <dcterms:isVersionOf rdf:resource="http://farm1.static.flickr.com/232/522214395_d2841bdbb0_o.jpg"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395#exif"/> </dcterms:StillImage> <rdf:Description rdf:about="x-urn:flickr:machinetag"> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdf:Description> <geo:Point rdf:about="http://www.flickr.com/photos/35034348999@N01/522214395#location"> <geo:long>-122.401937</geo:long> <acl:access>visbility</acl:access> <geo:lat>37.794694</geo:lat> <flickr:accuracy>16</flickr:accuracy> <acl:accessor>public</acl:accessor> <skos:broader rdf:resource="http://ws.geonames.org/rdf?geonameId=5400754"/> <skos:broader rdf:resource="http://www.flickr.com/geo/United%20States/California/San%20Francisco/San%20Francisco"/> </geo:Point> <flickr:tag rdf:about="http://www.flickr.com/photos/tags/filtr:process=filtr"> <skos:altLabel>filtr</skos:altLabel> <skos:broader rdf:resource="http://www.machinetags.org/wiki/filtr#process"/> <skos:prefLabel rdf:resource="filtr:process=filtr"/> </flickr:tag> <flickr:tag rdf:about="http://www.flickr.com/photos/tags/ph:camera=n95"> <skos:altLabel>n95</skos:altLabel> <skos:broader rdf:resource="http://www.machinetags.org/wiki/ph#camera"/> <skos:prefLabel rdf:resource="ph:camera=n95"/> </flickr:tag> <rdf:Description rdf:about="#"> <dcterms:hasVersion>2.0:1180823550</dcterms:hasVersion> <dc:created>2007-06-02T15:32:30-0700</dc:created> <dc:creator rdf:resource="http://search.cpan.org/dist/Net-Flickr-RDF-2.0"/> <a:annotates rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </rdf:Description> <flickr:tag rdf:about="http://www.flickr.com/photos/tags/filtr"> <skos:prefLabel>filtr</skos:prefLabel> </flickr:tag> <flickr:tag rdf:about="http://www.flickr.com/photos/35034348999@N01/tags/geo:debug=namespacetest"> <skos:altLabel>namespace test</skos:altLabel> <dc:creator rdf:resource="http://www.flickr.com/people/35034348999@N01"/> <skos:broader rdf:resource="http://www.flickr.com/photos/tags/geo:debug=namespacetest"/> <skos:prefLabel rdf:resource="geo:debug=namespace test"/> <skos:altLabel rdf:resource="geo:debug=namespacetest"/> </flickr:tag> <dcterms:StillImage rdf:about="http://farm1.static.flickr.com/232/522214395_ed16f959a2_m.jpg"> <dcterms:relation>Small</dcterms:relation> <exifi:height>180</exifi:height> <exifi:width>240</exifi:width> <dcterms:isVersionOf rdf:resource="http://farm1.static.flickr.com/232/522214395_d2841bdbb0_o.jpg"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395#exif"/> </dcterms:StillImage> <rdf:Description rdf:about="x-urn:flickr:user"> <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Person"/> </rdf:Description> <flickr:machinetag rdf:about="http://www.machinetags.org/wiki/ph#camera"> <mt:predicate>camera</mt:predicate> <mt:namespace>ph</mt:namespace> <dc:isReferencedBy rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </flickr:machinetag> <dcterms:StillImage rdf:about="http://farm1.static.flickr.com/232/522214395_ed16f959a2_s.jpg"> <dcterms:relation>Square</dcterms:relation> <exifi:height>75</exifi:height> <exifi:width>75</exifi:width> <dcterms:isVersionOf rdf:resource="http://farm1.static.flickr.com/232/522214395_d2841bdbb0_o.jpg"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395#exif"/> </dcterms:StillImage> <dcterms:StillImage rdf:about="http://farm1.static.flickr.com/232/522214395_ed16f959a2_b.jpg"> <dcterms:relation>Large</dcterms:relation> <exifi:height>768</exifi:height> <exifi:width>1024</exifi:width> <dcterms:isVersionOf rdf:resource="http://farm1.static.flickr.com/232/522214395_d2841bdbb0_o.jpg"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> <rdfs:seeAlso rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395#exif"/> </dcterms:StillImage> <flickr:place rdf:about="http://www.flickr.com/geo/United%20States/California/San%20Francisco/San%20Francisco"> <place:county>San Francisco</place:county> <place:country>United States</place:country> <place:region>California</place:region> <place:locality>San Francisco</place:locality> <dc:isReferencedBy rdf:resource="http://www.flickr.com/photos/35034348999@N01/522214395"/> </flickr:place> <flickr:tag rdf:about="http://www.flickr.com/photos/tags/geo:debug=namespacetest"> <skos:altLabel>namespace test</skos:altLabel> <skos:broader rdf:resource="http://www.machinetags.org/wiki/geo#debug"/> <skos:prefLabel rdf:resource="geo:debug=namespacetest"/> </flickr:tag> </rdf:RDF> VERSION3.1DATE$Date: 2010/12/19 19:06:56 $AUTHORAaron Straup Cope <ascope@cpan.org>CONTRIBUTORSThomas Sibley <tsibley@cpan.org>SEE ALSONet::Flickr::APINet::Flickr::RDF Config::Simple http://www.flickr.com/services/api/misc.userauth.html BUGSPlease report all bugs via http://rt.cpan.orgLICENSECopyright (c) 2005-2008 Aaron Straup Cope. All Rights Reserved.This is free software. You may redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |