Toy Posted in AppsRSSTrackback
GPPM (Google Picasa Perl Module) v0.1 版本颠末我两天调试,从连 HTTP::Message 都不太明了理睬到 Google::Picasa 模块的公布,学习到了不少的工具。
GPPM 泛起的汗青启事
由于 Google 的 Picasa 欣赏器插件不支持 Linux,以是在 Linux 下只能一次选五个文件停止上传,上传速率慢,同时欣赏器的呼应也会变慢。其次,该模块对权限,认证做了封装。故此就有了 GPPM 这个模块,该模块紧张是为了扶持赞助人人愈加随意敷衍疾速的上传图片到 Picasa。
刻下当今还在测试阶段,很大概外面还存在不少的 Bug,然则我曾经可以正常的操纵了。
GPPM 现有的功用
- 列出 Picasa 外面的齐备的相册
- 设立建设新的相册
- 上传图片到相册
未来会加入的新功用
- 列出指定相册的图片
- 图片的删除
- 图片及相册相干信息的添加功用
人人可以颠末 GPPM 的接口,随意敷衍的只上传图片,乃至本身依据外地的目录设立建设相册,然后迭代的上传齐备必要的图片到相册。
存在的成果
- 由于 Google 管事器同步的启事,设立建设的相册不克不及马上查问,然则可以操纵。
- 由于不克不及及时查到相册的称呼,如果设立建设两个不异的相册,相册的称呼是 xxx01..xxx02 的方法增添,而不是原有的指定的标题成果。
- 由于 Google 没有供应相册删除功用,以是还不克不及删除相册。
举例
这个例子先打印当前有齐备的相册列表,然后创新新的相册,并将三个图片文件上传到新相册。
源码
1 #!/usr/bin/perl
2
3 #Author: updatedb
4 #Mail: dongqiang@gmail.com
5
6 use strict;
7 use lib ".";
8
9 use Google::Picasa;
10
11 print "UserName:";
12 chomp ( my $username=<> );
13 print “Password:”;
14 chomp ( my $password=<> );
15
16 #new a object
17 my $picasa = Google::Picasa->new( $username, $password );
18
19 #get album list
20 my %albums = $picasa->get_album_list();
21 print “==================All album List=====================\n”;
22 print “ID => Album Name\n”;
23 foreach my $key ( keys %albums )
24 {
25 my $value = $albums{ $key };
26 print $value, ” => “, $key, “\n”;
27 }
28 print “=====================================================\n”;
29
30 #create a new album if the album didn’t exsit.
31 my $new_album_name = “current”;
32 my ( $id, $name );
33 if ( exists( $albums{ $new_album_name } ) )
34 {
35 $id = $albums{ $new_album_name };
36 $name = $new_album_name;
37 }
38 else
39 {
40 print “Try to create album<$new_album_name>…\n”;
41 ( $id, $name ) = $picasa->create_album( $new_album_name );
42 }
43
44 #upload picture files
45 my @picnames = qw( mollusk.jpeg mollusk_bak.jpeg mollusk.png );
46 my $picname;
47 foreach $picname ( @picnames )
48 {
49 if ( $picasa->upload_file( $id, $name, $picname ) )
50 {
51 print “Upload $picname Successful\n”;
52 }
53 }
成果
==================All album List=====================
ID => Album Name
5080358959752961841 => GameScreen
5071179941904459073 => LinuxSpread
5072209707558315729 => OfficeDiff
=====================================================
Try to create album…
Upload mollusk.jpeg Successful
Upload mollusk_bak.jpeg Successful
Upload mollusk.png Successful
若需代码,可向我发邮件:<dongqiang#gmail.com>(发邮件时请将 # 互换为 @)。
- Download Google Picasa Perl Module v0.1
版权声明:
原创作品,容许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。不然将追究法律责任。