[BACK]Return to fetch.pm CVS log [TXT][DIR] Up to [local] / wpscripts / ztransfer

Diff for /wpscripts/ztransfer/fetch.pm between version 1.3 and 1.6

version 1.3, 2011/07/20 07:52:32 version 1.6, 2011/08/30 08:30:41
Line 4 
Line 4 
 use db;  use db;
 use log;  # bad! only for log::filelist()  use log;  # bad! only for log::filelist()
 use warnings;  use warnings;
 my $EXPAND_SYMLINKS = 1;  
 my $QUERY_Z = "SELECT ID,Path,file_priority FROM upload_files WHERE Status=0 AND type_file=0";  my $QUERY_Z = "SELECT ID,Path,file_priority FROM upload_files WHERE Status=0 AND type_file=0";
 my $QUERY_P = "SELECT ID,Path,file_priority FROM upload_files WHERE Status=0 AND type_file=1";  my $QUERY_P = "SELECT ID,Path,file_priority FROM upload_files WHERE Status=0 AND type_file=1";
   my $QUERY_T = "SELECT ID,Path,file_priority FROM upload_files WHERE Status=0 AND type_file=2";
   
 my $sth;  my $sth;
   
Line 39 
Line 39 
             #convert samba-paths to local unix paths              #convert samba-paths to local unix paths
             $dbpaths[$i] = substr($dbpaths[$i], 13);    # remove \\fileserver\              $dbpaths[$i] = substr($dbpaths[$i], 13);    # remove \\fileserver\
             $dbpaths[$i] =~ tr/\\/\//;                  # convert each \ to /              $dbpaths[$i] =~ tr/\\/\//;                  # convert each \ to /
             $dbpaths[$i] = '/mnt/rmt_maket/' . $dbpaths[$i];              $dbpaths[$i] = '/mnt/maket/' . $dbpaths[$i];
             $dbpaths[$i] = substr($dbpaths[$i], 0, ( index($dbpaths[$i], ' ', 0) ) );              $dbpaths[$i] = substr($dbpaths[$i], 0, ( index($dbpaths[$i], ' ', 0) ) );
                 #                  #
                 # We must not save non-existent local file in array!                  # We must not save non-existent local file in array!
                 # Returning of array with bad element is deprecated,                  # Returning of array with bad element is deprecated,
                 # So this code too weak to work correctly.                  # So this code too weak to work correctly.
                 #                  #
                 if($EXPAND_SYMLINKS && -e $dbpaths[$i])          # increment $i ONLY if local file exists, otherwise replace element in next iteration
                 {              $i++;
                     chomp( $_ = `dirname $dbpaths[$i] | xargs /usr/bin/readlink` );          # if localfile does not exists, write result of next iteration on its place
                     chomp( $dbpaths[$i] = $_ . '/' . `basename $dbpaths[$i]` );  
   
                     # increment $i ONLY if local file exists, otherwise replace element in next iteration  
                     $i++;  
                 }  
                 # if localfile does not exists, write result of next iteration on its place  
         }          }
         else          else
         {          {
Line 102 
Line 96 
     $sth->execute( );      $sth->execute( );
     while(($dbids[$i], $dbpaths[$i]) = $sth->fetchrow_array( ) )      while(($dbids[$i], $dbpaths[$i]) = $sth->fetchrow_array( ) )
     {      {
         $dbpaths[$i] = substr($dbpaths[$i], 23);          $dbpaths[$i] = substr($dbpaths[$i], 13);
         $dbpaths[$i] =~ tr/\\/\//;          $dbpaths[$i] =~ tr/\\/\//;
         $dbpaths[$i] = '/WIDEPRINT/' . $dbpaths[$i];          $dbpaths[$i] = '/mnt/maket/' . $dbpaths[$i];
         $dbpaths[$i] = substr($dbpaths[$i], 0, ( index($dbpaths[$i], ' ', 0) ) );          $dbpaths[$i] = substr($dbpaths[$i], 0, ( index($dbpaths[$i], ' ', 0) ) );
             if($EXPAND_SYMLINKS && -e $dbpaths[$i])  
             {  
                 chomp( $_ = `dirname $dbpaths[$i] | xargs /usr/bin/readlink` );  
                 chomp( $dbpaths[$i] = $_ . '/' . `basename $dbpaths[$i]` );  
             }  
         $i++;          $i++;
     }      }
   
Line 123 
Line 112 
   
     return( (\@dbids, \@dbpaths) );      return( (\@dbids, \@dbpaths) );
 }  }
   
   sub tt_list()
   {
       my @dbids;
       my @dbpaths;
       my $i = 0;
   
       $sth = $db::dbh->prepare($QUERY_T);
       $sth->execute( );
       while(($dbids[$i], $dbpaths[$i]) = $sth->fetchrow_array( ) )
       {
           $dbpaths[$i] = substr($dbpaths[$i], 13);
           $dbpaths[$i] =~ tr/\\/\//;
           $dbpaths[$i] = '/mnt/maket/' . $dbpaths[$i];
           $dbpaths[$i] = substr($dbpaths[$i], 0, ( index($dbpaths[$i], ' ', 0) ) );
           $i++;
       }
   
       $i--;
       $#dbids = $i;
       $#dbpaths = $i;
   
       log::filelist(\@dbpaths);
   
   
       return( (\@dbids, \@dbpaths) );
   }
   
   
   
 return(1);  return(1);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.6

CVSweb