Changeset 3451


Ignore:
Timestamp:
Jun 24, 2009, 8:28:10 AM (12 years ago)
Author:
ronosman
Message:

Bug 1030 fixed. Improved error reporting during transfert.

Location:
extensions/pLoader/trunk/src/Uploader
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/pLoader/trunk/src/Uploader/ImageList.pm

    r3387 r3451  
    10231023            );
    10241024
     1025            push @{$self->uploaded_images}, $_;
    10251026            $uploaded++;
    10261027        } else {
     
    10451046        croak "Upload cancelled. ", $@ if $@ ;
    10461047       
    1047         print "image_selection ", Dumper $_;
    1048         push @{$self->uploaded_images}, $_;
    10491048    }
    10501049    @{$self->image_selection} if defined
     
    11901189    # exif from original image
    11911190    my $orientation = $self->current_image->exif_metadata->{Orientation};
    1192    
     1191
    11931192    # Valid for Rotate 180, Rotate 90 CW, Rotate 270 CW
    11941193    if( $orientation =~ m/Rotate (\d+)/ ){
  • extensions/pLoader/trunk/src/Uploader/PWG/WebServices.pm

    r3383 r3451  
    212212
    213213    my $image_id = $hresult->{result}{$original_sum};
    214     if(!defined($image_id)){
    215         $self->send_chunks(
    216             {
     214    my $status = 0;
     215    my $status_line = "An error has occured during upload.";
     216    while(1){
     217        if(!defined($image_id)){
     218               
     219            my $resized_params = {
    217220                filepath => encode('iso-8859-1', $self->site_resized_file),
    218221                type => 'file',
    219222                original_sum => $original_sum,
    220             }
    221         );
    222 
    223         $self->send_chunks(
    224             {
     223            };
     224   
     225            $self->send_chunks(
     226                $resized_params
     227            );
     228           
     229            $status_line = $resized_params->{message};
     230            last if !$resized_params->{ok};
     231         
     232            my $thumb_params = {
    225233                filepath => encode('iso-8859-1', $self->site_thumb_file),
    226234                type => 'thumb',
     235                original_sum => $original_sum,         
     236            };
     237   
     238            $self->send_chunks(
     239                $thumb_params
     240            );
     241
     242            $status_line = $thumb_params->{message};
     243            last if !$thumb_params->{ok};
     244
     245       
     246            $form = {
     247                method            => 'pwg.images.add',
     248                original_sum      => $original_sum,
     249                file_sum          => $file_sum,
     250                thumbnail_sum     => $thumbnail_sum,
     251                categories        => $self->categories,
     252                name              => $site_image_name,
     253                rank              => $self->rank,
     254                author            => $self->site_author,
     255                comment           => $self->site_comment,
     256                date_creation     => $self->site_img_date_creation,
     257               
     258            };
     259            my $high_params = {
     260                filepath => encode('iso-8859-1', $self->site_high_file),
     261                type => 'high',
    227262                original_sum => $original_sum,
    228             }
    229         );
    230        
    231         $form = {
    232             method            => 'pwg.images.add',
    233             original_sum      => $original_sum,
    234             file_sum          => $file_sum,
    235             thumbnail_sum     => $thumbnail_sum,
    236             categories        => $self->categories,
    237             name              => $site_image_name,
    238             rank              => $self->rank,
    239             author            => $self->site_author,
    240             comment           => $self->site_comment,
    241             date_creation     => $self->site_img_date_creation,
    242            
    243         };
    244    
    245         if($self->upload_high){
    246             $self->send_chunks(
    247                 {
    248                     filepath => encode('iso-8859-1', $self->site_high_file),
    249                     type => 'high',
    250                     original_sum => $original_sum,
    251                 }
    252             );
    253 
    254             $form->{high_sum}     = $original_sum;
     263            };
     264   
     265            if($self->upload_high){
     266                $form->{high_sum} = $original_sum;
     267   
     268                $self->send_chunks(
     269                    $high_params
     270                );
     271
     272                $status_line = $high_params->{message};
     273                last if !$high_params->{ok};
     274   
     275            }
    255276        }
    256     }
    257     else {
    258         $form = {
    259             method            => 'pwg.images.setInfo',
    260             image_id          => $image_id,
    261             categories        => $self->categories,
    262             name              => $site_image_name,
    263             rank              => $self->rank,
    264             author            => $self->site_author,
    265             comment           => $self->site_comment,
    266             date_creation     => $self->site_img_date_creation,
    267         };
    268     }
    269 
    270     $result = $self->uagent->post(
    271         $self->urlbase.'/ws.php?format=json',
    272         $form
    273     );
    274 
    275     return ( $result->is_success, $result->status_line );
     277        else {
     278            $form = {
     279                method            => 'pwg.images.setInfo',
     280                image_id          => $image_id,
     281                categories        => $self->categories,
     282                name              => $site_image_name,
     283                rank              => $self->rank,
     284                author            => $self->site_author,
     285                comment           => $self->site_comment,
     286                date_creation     => $self->site_img_date_creation,
     287            };
     288        }
     289   
     290        $result = $self->uagent->post(
     291            $self->urlbase.'/ws.php?format=json',
     292            $form
     293        );
     294   
     295        $status = $result->is_success;
     296        $status_line = $result->status_line;
     297        last;
     298    }
     299   
     300    return ( $status,  $status_line);
    276301}
    277302 
     
    336361        );
    337362
    338         #printf(
    339         #    'chunk %05u of %05u for %s "%s"'."\n",
    340         #    $chunk_id,
    341         #    $nb_chunks,
    342         #    $params->{type},
    343         #    $params->{filepath}
    344         #);
     363        $params->{ok} = 1;
    345364        if ($response->code != 200) {
    346365            printf("response code    : %u\n", $response->code);
    347366            printf("response message : %s\n", $response->message);
     367            $params->{ok} = 0;
     368            $params->{message} = $response->message;
     369            $params->{code} = $response->code;
     370            last;
    348371        }
    349372
Note: See TracChangeset for help on using the changeset viewer.