=================================================================== RCS file: /cvs/wpscripts/ztransfer/send.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- wpscripts/ztransfer/send.pm 2011/12/21 09:19:22 1.6 +++ wpscripts/ztransfer/send.pm 2011/12/21 10:19:26 1.7 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: send.pm,v 1.6 2011/12/21 09:19:22 yason Exp $ +# $Id: send.pm,v 1.7 2011/12/21 10:19:26 yason Exp $ package send; use fetch; use db; @@ -11,6 +11,7 @@ our $SPOOL_ZAYAVKI = "/mnt/archive/archive/wp/zayavki"; our $SPOOL_PROBAS = "/mnt/archive/archive/wp/proba"; our $SPOOL_TT = "/mnt/archive/archive/wp/tt"; +our $SPOOL_JPEG = "/mnt/archive/archive/wp/jpeg"; our $SPOOL_TMPDIR = "/mnt/archive/archive/temp"; # temp variables for map table lookup @@ -494,5 +495,91 @@ log::main("Saved $okay tt on remote host"); log::tt("<< End transfer process >>"); } + + +sub jpeg() + { + my @dbids; + my @localpaths; + my @remotepaths; + my $dbids_ref; + my $localpaths_ref; + my $i = 0; + my $okay = 0; + + my $size_orig; + + ($dbids_ref, $localpaths_ref) = fetch::jpeg_list(); + + @dbids = @$dbids_ref; + @localpaths = @$localpaths_ref; + log::main("Fetched " . scalar(@localpaths) . " jpeg from database"); + log::jpeg("<< Starting transfer process >>"); + + @remotepaths = @localpaths; # clone + + while($localpaths[$i]) + { + # lookup in table first + chomp( $tmpf = `basename $remotepaths[$i]` ); + chomp( $_ = `dirname $remotepaths[$i]` ); + $tmpd = hash::lookup($_); + if ( $tmpd ne '' ) + { + $remotepaths[$i] = $tmpd. "/". $tmpf; + } + else + { + # hardcoded + $remotepaths[$i] =~ s/\/mnt\/maket/\/mnt\/rmt_maket/; + } + + if(-e $remotepaths[$i]) + { + log::error("Remote file $remotefile[$i] already exists"); + db::change_status($dbids[$i], 1); + } + else + { + if( -e $localpaths[$i] ) + { + fileops::checkdir($remotepaths[$i]); + # set $size_orig + $size_orig = -s "$localpaths[$i]"; + + log::tt("transferring $localpaths[$i] -> $remotepaths[$i]"); + if( system("cp '$localpaths[$i]' '$remotepaths[$i]'") == 0 ) + { + log::jpeg("saved $localpaths[$i] -> $remotepaths[$i] [size_orig=$size_orig]"); + # update database + db::change_status($dbids[$i], 1); + db::write_size_orig($dbids[$i], $size_orig); + + + $okay++; + + } + else + { + # error in the copy process + log::jpeg("error in copy process (see error log)"); + log::error("error in copy process: $?"); + } + } + else + { + # error, local file doesn't exists + log::error("Can not open local file $localpaths[$i]"); + log::jpeg("Can not open local file $localpaths[$i]"); + } + } + + # next iteration of 'while' and increment of $i + $i++; + } + + log::main("Saved $okay jpeg on remote host"); + log::jpeg("<< End transfer process >>"); + } return(1);