Changeset 3451


Ignore:
Timestamp:
06/24/09 08:28:10 (11 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.