#! /usr/bin/perl

# File:     sge_filestaging
#
# Copyright (c) Members of the EGEE Collaboration. 2004. 
# See http://www.eu-egee.org/partners/ for details on the copyright
# holders.  
# 
# Licensed under the Apache License, Version 2.0 (the "License"); 
# you may not use this file except in compliance with the License. 
# You may obtain a copy of the License at 
# 
#     http://www.apache.org/licenses/LICENSE-2.0 
# 
# Unless required by applicable law or agreed to in writing, software 
# distributed under the License is distributed on an "AS IS" BASIS, 
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
# See the License for the specific language governing permissions and 
# limitations under the License.
#


use Getopt::Long;

my ( $STAGEIN, $FILELIST );

GetOptions(
    'stagein'	=> sub { $STAGEIN = 1; $FILELIST = 'SGE_stagein'; },
    'stageout'	=> sub { $STAGEIN = 0; $FILELIST = 'SGE_stageout'; },
    );

exit 0 unless $FILELIST;

my ( @FILES ) = split( /\@\@\@/, $ENV{$FILELIST} );

foreach ( @FILES ) {
    next unless /^([^\@]+)\@([^\:]+)\:(.+)$/;
    
    my $localfile     = $1;
    my $remotemachine = $2;
    my $remotefile    = $3;
    
    if ( $STAGEIN ) {
	system( 'scp', "$remotemachine:$remotefile", $localfile );
    } else {
	system( 'scp', $localfile, "$remotemachine:$remotefile" );
    }
}

exit( 0 );
