=================================================================== RCS file: /cvs/wpscripts/ztransfer/send.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wpscripts/ztransfer/send.pm 2011/07/22 09:44:02 1.4 +++ wpscripts/ztransfer/send.pm 2011/08/30 08:30:42 1.5 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: send.pm,v 1.4 2011/07/22 09:44:02 yason Exp $ +# $Id: send.pm,v 1.5 2011/08/30 08:30:42 yason Exp $ package send; use fetch; use db; @@ -10,6 +10,7 @@ # spool path constants (without leading slash) 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_TMPDIR = "/mnt/archive/archive/temp"; # temp variables for map table lookup @@ -287,7 +288,8 @@ else { # /mnt/maket/proba/* goes on /mnt/rmt_maket/proba/ - substr($remotepaths[$i], 1, 2, 'mnt/rmt_maket'); +# substr($remotepaths[$i], 1, 2, 'mnt/rmt_maket'); + $remotepaths[$i] =~ s/\/mnt\/maket/\/mnt\/rmt_maket/; } if(-e $remotepaths[$i] || -e $remotepaths[$i] . '.rar') @@ -401,5 +403,96 @@ log::main("Saved $okay probas on remote host"); log::probas("<< End transfer process >>"); } + +sub tt() + { + 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::tt_list(); + + @dbids = @$dbids_ref; + @localpaths = @$localpaths_ref; + log::main("Fetched " . scalar(@localpaths) . " tt from database"); + log::tt("<< 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::tt("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); + + # + # WE SHOULD NOT FILL ux_rpath FIELD FOR tpp-types + # + # XXX Please explain me why? + # + # db::write_ux_rpath($dbids[$i], "$remotepaths[$i]"); + + $okay++; + + } + else + { + # error in the copy process + log::tt("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::tt("Can not open local file $localpaths[$i]"); + } + } + + # next iteration of 'while' and increment of $i + $i++; + } + + log::main("Saved $okay tt on remote host"); + log::tt("<< End transfer process >>"); + } return(1);