zoukankan      html  css  js  c++  java
  • 简化 Picasa 图片上传

     Toy Posted in AppsRSSTrackback

    GPPM (Google Picasa Perl Module) v0.1 版本颠末我两天调试,从连 HTTP::Message 都不太明了理睬到 Google::Picasa 模块的公布,学习到了不少的工具。

    GPPM 泛起的汗青启事

    由于 Google 的 Picasa 欣赏器插件不支持 Linux,以是在 Linux 下只能一次选五个文件停止上传,上传速率慢,同时欣赏器的呼应也会变慢。其次,该模块对权限,认证做了封装。故此就有了 GPPM 这个模块,该模块紧张是为了扶持赞助人人愈加随意敷衍疾速的上传图片到 Picasa。

    刻下当今还在测试阶段,很大概外面还存在不少的 Bug,然则我曾经可以正常的操纵了。

    GPPM 现有的功用

    1. 列出 Picasa 外面的齐备的相册
    2. 设立建设新的相册
    3. 上传图片到相册

    未来会加入的新功用

    1. 列出指定相册的图片
    2. 图片的删除
    3. 图片及相册相干信息的添加功用

    人人可以颠末 GPPM 的接口,随意敷衍的只上传图片,乃至本身依据外地的目录设立建设相册,然后迭代的上传齐备必要的图片到相册。

    存在的成果

    1. 由于 Google 管事器同步的启事,设立建设的相册不克不及马上查问,然则可以操纵。
    2. 由于不克不及及时查到相册的称呼,如果设立建设两个不异的相册,相册的称呼是 xxx01..xxx02 的方法增添,而不是原有的指定的标题成果。
    3. 由于 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





    版权声明: 原创作品,容许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。不然将追究法律责任。

  • 相关阅读:
    【转】sql server编写通用脚本自动检查两个不同服务器的新旧数据库的表结构差异
    Pytest 2
    【转】python通过SMTP协议发送邮件失败,报错505或535
    【转】环境搭建之allure的安装配置,及简单使用
    Pytest 1
    替换姓名为隐式
    docker 用户组权限
    安装go环境
    Win10配置WSL2安装Ubuntu,并支持Nvidia CUDA 环境
    miniconda源配置
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1973071.html
Copyright © 2011-2022 走看看