Changeset 755


Ignore:
Timestamp:
12/03/12 16:16:50 (12 years ago)
Author:
labetoulle
Message:
  • Implementation of th '-p' option to give a config.card path instead of a job name.
  • Bufix in the '-n' search in $WORKDIR.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/AA_RunChecker

    r754 r755  
    1818function ChangeUsr { 
    1919 
    20 #  echo ">$1<" 
    21  
    2220  echo $1 | sed -e "s/${CurrentUsr}/${TargetUsr}/" \ 
    2321                -e "s/${CurrentGrp}/${TargetGrp}/" 
     
    3129  unset SUBMIT_DIR 
    3230 
    33   NbOcc=$( awk -v JobName=${JobName} \ 
    34            'BEGIN {x=0}  $1 ~ JobName {++x} END {print x}' ${SimuCatalog} ) 
    35  
    36   if [ ${NbOcc} -eq 0 ] ; then 
    37     if ( ${fg_new} ) ; then 
    38       echo "${JobName} not in Catalog, we'll try to find it in ${WORKDIR}" 
    39        
    40       set -A FileList 
    41       FileList=$( find ${WORKDIR}/ -name "Job_${JobName}" ) 
    42       echo $FileList 
    43       (( NbOcc = ${#FileList[@]} )) 
     31  if ( $fg_path ) ; then 
     32    set -A FileList 
     33    FileList=$( ls ${ConfigPath}/Job_* ) 
     34    if [ X$FileList == X ] ; then 
     35      NbOcc=0 
    4436    else 
    45       echo "${JobName} not in Catalog." 
    46       echo "Add job_name, user_name, host_name and submit_dir in ${SimuCatalog}" 
    47       exit 
    48     fi 
    49   fi 
    50  
    51  
    52   if [ ${NbOcc} -eq 0 ] ; then 
    53     echo "${JobName} not found." 
    54     exit 
     37      NbOcc=${#FileList[@]} 
     38      fg_new=true 
     39    fi 
    5540  else 
    56     if [ ${NbOcc} -eq 1 ] ; then 
    57  
    58       if ( [ ${TargetUsr} == $( awk -v JobName=${JobName} '$1 ~ JobName {print $2}' ${SimuCatalog} ) ] && [ ${HostName} == $( awk -v JobName=${JobName} '$1 ~ JobName {print $3}' ${SimuCatalog} ) ] ) ; then 
     41    NbOcc=$( awk -v JobName=${JobName} \ 
     42             'BEGIN {x=0}  $1 ~ JobName {++x} END {print x}' ${SimuCatalog} ) 
     43  fi 
     44 
     45  if ( [ ${NbOcc} -eq 0 ] && ( ${fg_new} ) ) ; then 
     46    SEARCH_DIR=${WORKDIR} 
     47    if [ ${TargetUsr} != ${CurrentUsr} ] ; then 
     48      SEARCH_DIR=$( ChangeUsr ${SEARCH_DIR}) 
     49    fi 
     50    echo "${JobName} not in Catalog, we'll try to find it in ${SEARCH_DIR}" 
     51 
     52    set -A FileList 
     53    FileList=$( find ${SEARCH_DIR}/ -name "Job_${JobName}" ) 
     54    if [ X$FileList == X ] ; then 
     55      NbOcc=0 
     56    else 
     57      NbOcc=${#FileList[@]} 
     58    fi 
     59  fi 
     60 
     61  case ${NbOcc} in 
     62    0) 
     63      echo "${JobName} not found." 
     64      echo "You can try : '-n' option to automatically search your \$WORKDIR, " 
     65      echo "              '-p' option to provide the config.card path, " 
     66      echo "               manually editing your ${SimuCatalog}" 
     67      exit ;; 
     68    1) 
     69      if ( ${fg_new} ) ; then 
     70        JobName=${JobName:=$( basename ${FileList} | awk -F"_" '{ print $2 }' )} 
     71        SUBMIT_DIR=$( dirname ${FileList} ) 
     72        echo "${JobName} ${TargetUsr} ${HostName} ${SUBMIT_DIR}" 
     73        echo "${JobName} ${TargetUsr} ${HostName} ${SUBMIT_DIR}" >> ${SimuCatalog} 
     74      elif ( [ ${TargetUsr} == $( awk -v JobName=${JobName} \ 
     75                                      '$1 ~ JobName {print $2}' \ 
     76                                      ${SimuCatalog} ) ] \ 
     77          && [ ${HostName}  == $( awk -v JobName=${JobName} \ 
     78                                      '$1 ~ JobName {print $3}' \ 
     79                                      ${SimuCatalog} ) ] ) ; then 
    5980        JobName=$( awk -v JobName=${JobName} '$1 ~ JobName {print $1}' ${SimuCatalog} ) 
    60         TargetUsr=$( awk -v JobName=${JobName} '$1 ~ JobName {print $2}' ${SimuCatalog} ) 
    61         HostName=$( awk -v JobName=${JobName} '$1 ~ JobName {print $3}' ${SimuCatalog} ) 
    6281        SUBMIT_DIR=$( awk -v JobName=${JobName} '$1 ~ JobName {print $4}' ${SimuCatalog} ) 
    6382      else 
     
    6584        exit 
    6685      fi 
    67     fi 
    68   fi 
     86      break ;; 
     87    *) 
     88      echo "More than one job" 
     89      break ;; 
     90  esac 
     91 
     92  return 
    6993 
    7094} 
     
    239263fg_new=false 
    240264fg_quiet=false 
     265fg_path=false 
    241266NbHisto=10 
    242267 
     
    246271  case $1 in 
    247272    -h|--help|-help) 
    248       echo "usage: $0 [-u TargetUsr] JobName" 
     273      echo "usage: $0 [-u user] [-n] [-q] [-j n] job_name" 
     274      echo "       $0 [-u user] [-n] [-q] [-j n] -p config.card_path" 
     275      echo "" 
     276      echo "options :" 
     277      echo "  -h : print this help and exit" 
     278      echo "  -u : owner of the job" 
     279      echo "  -q : quiet" 
     280      echo "  -j : print n post-processing jobs (default is 10)" 
     281      echo "  -n : look for a new job in \$WORKDIR and fill in " 
     282      echo "       the catalog before printing information" 
     283      echo "  -p : give the config.card path to a new simulation, " 
     284      echo "       instead of the job name." 
    249285      exit ;; 
    250     -b|-nocolor) 
    251       fg_color=false 
    252       shift 1 ;; 
     286#    -b|-nocolor) 
     287#      fg_color=false 
     288#      shift 1 ;; 
    253289    -n|-new) 
    254290      fg_new=true 
     
    259295    -p|-config-path) 
    260296      ConfigPath="$2" 
     297      fg_path=true 
    261298      shift 2 ;; 
    262299    -j|-job-number) 
     
    274311done 
    275312 
    276 if [ $# -lt 1 ] ; then 
     313if ( [ ! $fg_path ] && [ $# -lt 1 ] ) ; then 
    277314  $0 -h 
    278315  exit 
Note: See TracChangeset for help on using the changeset viewer.