]> Creatis software - clitk.git/blobdiff - grid/common.sh
bugfix
[clitk.git] / grid / common.sh
index 44ad69381ed09e212c99c1cb9001c2fb09ac7bb3..bb0b05b7f64771cabcf3042db11f4d180d5d90b0 100644 (file)
@@ -27,10 +27,35 @@ test "${answer}" == "n" && return 1
 check_user "${prompt}"
 }
 
+# checks if the lfn file exists
+function file_exists {
+lfnfile="${1:?"provide lfn to file"}"
+lfc-ls ${lfnfile} 2>&1 > /dev/null
+}
+
+# upload file to grid storage element
+# source can be a relative or an absolute path to the source file 
+# dest must be the lfn to the target **file** (not the directory) 
+# if dest already exists, it prompts the user for overwritting
+function upload_file {
+sourcefile=${1:?"provide source file"}
+destlfn=${2:?"provide destination file lfn"}
+sourcefile="$(readlink -f "${sourcefile}")" # convert to absolute path
+test -f "${sourcefile}" || error "can't find ${sourcefile}"
+echo "uploading ${sourcefile} to ${destlfn}"
+if file_exists "${destlfn}"; then
+       check_user "${destlfn} already exists. overwrite it?" || exit 2
+       lcg-del -a "lfn:${destlfn}"
+fi
+echo "lets roll"
+lcg-cr -v -d ccsrm02.in2p3.fr -l "lfn:${destlfn}" "file:${sourcefile}" 
+}
+
+
 # common path used
 lfnbase="/grid/biomed/creatis/fgate/"
 lfnrelease="${lfnbase}releases/"
-lfnworkflow="${lfnbase}"
+lfnworkflow="${lfnbase}workflow/"
 lfngasw="${lfnbase}gasw/"
 lfnscript="${lfnbase}bin/"