-
-
04 Dec 2003 04:19:59 UTC
- Distribution: Mac-iPhoto
- Module version: 0.1
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues (0)
- Testers (49 / 0 / 0)
- Kwalitee
Bus factor: 0- % Coverage
- License: unknown
- Activity
24 month- Tools
- Download (9.99KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- unknown
- Reverse dependencies
- CPAN Testers List
- Dependency graph
- NAME
- SYNOPSIS
- DESCRIPTION
- FUNCTIONS
- Structure of the data format of iPhoto.pm
- CHANGES
- EXAMPLE
- CREDITS
- AUTHOR
- SEE ALSO
NAME
iPhoto - reads in photo albums plist files of iPhoto.app on MacOS X and presents them as perl data structure.
SYNOPSIS
use Mac::iPhoto;
my $a = new Mac::iPhoto("./AlbumData.xml");
$a->parse;
DESCRIPTION
Reads in photo albums plist files of iPhoto.app on MacOS X and presents them as perl data structure.
FUNCTIONS
&new();
my $AlbumData = Mac::iPhoto->new( "/Users/Shared/Photo/AlbumData.xml" ); Creates new data object. Takes one parameter - UNIX path to AlbumData.xml file.
&parse()
$AlbumData->&parse(); Parses XML file and populates data structure $AlbumData->{'Data'}.
Structure of the data format of iPhoto.pm
Mac::iPhoto->parse() populates a hash iPhoto->{Data} that has following structure:
{ Properties => \%Properties, Albums => \@Albums, Images => \@Images }
%Properties is hash of the top-level properties in the AlbumData.xml file.
%Properties has following structure:
{ 'Application Version' => string, 'Archive Path' => string, 'Major Version' => string, 'Minor Version' => string, }
@Albums - array describing all albums in parsed XML file.
@Albums has following structure:
{ 'AlbumName' => string, 'BookDesignName' => string, 'RepeatSlideShow' => string, 'SecondsPerSlide' => string, 'SongPath' => string, 'KeyList' => \@KeyList, }
@Images - array describing all images in the AlbumData.xml file.
@Images has following structure:
( 'ImagePath' => string, 'Caption' => string, 'Comment' => string, 'Date' => string, 'ThumbPath' => string, 'ModificationDate' => string, );
CHANGES
Nov 19, 2003 - 1st actually working version of module.
EXAMPLE
use Mac::iPhoto;
my $a = new Mac::iPhoto("./AlbumData.xml");
$a->parse;
printf "Created by iTunes v. %s / maj.%s / min.%s\n", $a->{'Properties'}->{'Application Version'}, $a->{Properties}->{'Major Version'}, $a->{Properties}->{'Minor Version'};
printf "Album path: %s\n", $a->{Properties}->{'Archive Path'};
for my $album (@{$a->{Data}->{Albums}}) {
printf "Name: %s \n", $album->{'AlbumName'}; printf "BookDesignName: %s \n", $album->{'BookDesignName'}; for my $key ( @{$album->{'KeyList'}}) { print $key, ": \n"; printf "\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n", $a->{Data}->{Images}->[$key]->{'Date'}, $a->{Data}->{Images}->[$key]->{'ImagePath'}, $a->{Data}->{Images}->[$key]->{'ThumbPath'}, $a->{Data}->{Images}->[$key]->{'Caption'}, $a->{Data}->{Images}->[$key]->{'Comment'}, $a->{Data}->{Images}->[$key]->{'ModificationDate'}; } }
CREDITS
Mac::iPhoto relies on Mac::PropertyList module for actual parsing of XML file. Thanks for Brian D Foy, <bdfoy@cpan.org> for developing it.
AUTHOR
Dmytro Kovalov, 2003. kov at tokyo dot email dot ne dot jp.
http://yarylo.sytes.net/ http://www.asahi-net.or.jp/~as9d-kvlv/
SEE ALSO
https://sourceforge.net/projects/brian-d-foy/
Module Install Instructions
To install Mac::iPhoto, copy and paste the appropriate command in to your terminal.
cpanm Mac::iPhoto
perl -MCPAN -e shell install Mac::iPhoto
For more information on module installation, please visit the detailed CPAN module installation guide.