Changeset 4347 for trunk/tools


Ignore:
Timestamp:
Nov 23, 2009, 12:58:44 AM (14 years ago)
Author:
plg
Message:

merge r4344 from branch 2.0 to trunk

feature 1051: new API method pwg.images.checkFiles. This method will be useful
before asking for an update on photo files.

Enhancement in code factorization.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/piwigo_remote.pl

    r3454 r4347  
    1818use JSON;
    1919use LWP::UserAgent;
     20# LWP::Debug::level('+');
    2021use Getopt::Long;
    2122use Encode qw/is_utf8 decode/;
     
    4142
    4243our $ua = LWP::UserAgent->new;
     44$ua->agent('Mozilla/piwigo_remote.pl 1.25');
    4345$ua->cookie_jar({});
    4446
     
    5658    $conf{$conf_key} = defined $opt{$conf_key} ? $opt{$conf_key} : $conf_default{$conf_key}
    5759}
     60
     61$ua->default_headers->authorization_basic(
     62    $conf{username},
     63    $conf{password}
     64);
    5865
    5966my $result = undef;
     
    7986    use MIME::Base64 qw(encode_base64);
    8087    use Digest::MD5::File qw/file_md5_hex/;
    81     use File::Slurp;
    8288
    8389    $form = {};
     
    133139    }
    134140    else {
     141        print Dumper($response);
    135142        warn 'A problem has occured during upload', "\n";
    136143        warn $response->decoded_content, "\n";
     
    171178
    172179    $result = $ua->get($query);
     180    print Dumper($result);
    173181    my $tags = from_json($result->content)->{result}{tags};
    174182
     
    235243}
    236244
     245if ($opt{action} eq 'pwg.images.checkFiles') {
     246    use Digest::MD5::File qw/file_md5_hex/;
     247
     248    $form = {};
     249    $form->{method} = $opt{action};
     250
     251    foreach my $type (qw/thumbnail file high/) {
     252        if (defined $opt{$type}) {
     253            $form->{$type.'_sum'} = file_md5_hex($opt{$type});
     254        }
     255    }
     256
     257    foreach my $key (keys %{ $opt{define} }) {
     258        $form->{$key} = $opt{define}{$key};
     259    }
     260
     261    my $response = $ua->post(
     262        $conf{base_url}.'/ws.php?format=json',
     263        $form
     264    );
     265
     266    print "-" x 50, "\n";
     267    printf("response code    : %u\n", $response->code);
     268    printf("response message : %s\n", $response->message);
     269    print "-" x 50, "\n";
     270    print "\n";
     271
     272    use Data::Dumper;
     273    print Dumper(from_json($response->content));
     274}
     275
    237276if ($opt{action} eq 'pwg.images.setInfo' or $opt{action} eq 'pwg.categories.setInfo') {
    238277    $form = {
     
    254293}
    255294
     295if ($opt{action} eq 'pwg.categories.getList') {
     296    $form = {
     297        method => $opt{action},
     298    };
     299
     300    foreach my $key (keys %{ $opt{define} }) {
     301        $form->{$key} = $opt{define}{$key};
     302    }
     303
     304    my $response = $ua->post(
     305        $conf{base_url}.'/ws.php?format=json',
     306        $form
     307    );
     308
     309    use Data::Dumper;
     310    print Dumper($response->content);
     311    print Dumper(from_json($response->content)->{result});
     312    print Dumper($response);
     313}
     314
     315
    256316$query = pwg_ws_get_query(
    257317    method => 'pwg.session.logout'
     
    273333sub send_chunks {
    274334    my %params = @_;
     335
     336    use File::Slurp;
    275337
    276338    my $content = read_file($params{filepath});
Note: See TracChangeset for help on using the changeset viewer.