#!/bin/sh #--- Help function ------------- printhelp() { echo " " echo " pq2-ls" echo " " echo " Purpose: list the available datasets" echo " " echo " Syntax:" echo " pq2-ls [-h|--help] [-v] [-k] [--forcescan] [--noupdate] [--refresh] [(-d|--dataset=)] datasets" echo " [-t tmpdir|--tmp=tmpdir] [-u serviceurl|--url=serviceurl]" echo " " echo " -h | --help Print this help" echo " -v Verbose mode" echo " -k Keep temporary files" echo " --forcescan the datasets are open to get the information; otherwise the" echo " pre-processed information is used." echo " --noupdate if a cache is used do not update it (which may be slow on some servers)" echo " --refresh refresh the information (requires appropriate credentials; typically" echo " it can be done only for owned datasets" echo " datasets Datasets to be analysed; the '*' wild card can be used" echo " serviceurl: URL of the PROOF master or data server providing the information;" echo " for data servers, it must include the directory." echo " Can be specified via the envs PQ2PROOFURL or PQ2DSSRVURL." echo " tmpdir Directory for temporary files [/tmp/]." echo " " } PQ2=`which pq2 2> /dev/null` if test "x$PQ2" = "x" ; then echo "Unknown command 'pq2'" exit 1 fi DBGOPT="" DSNAME="" KEEPOPT="" OPTIONS="" SRVURL="" TDIR=$TMPDIR # # Parse long options first other_args= short_opts= for i in $@ ; do opt="" case $i in --*) opt=`echo "$i" | sed 's/--//'` ;; -*) short_opts="$short_opts $i" ;; *) other_args="$other_args $i"; short_opts="$short_opts $i" ;; esac if test ! "x$opt" = "x" ; then case "$opt" in *=*) oarg=`echo "$opt" | sed 's/[-_a-zA-Z0-9]*=//'`;; *) oarg= ;; esac ; case $opt in dataset=*) DSNAME="-d $oarg" ;; forcescan) OPTIONS="forcescan:$OPTIONS" ;; help) printhelp ; exit ;; keep) KEEPOPT="-k" ;; noupdate) OPTIONS="noupdate:$OPTIONS" ;; refresh) OPTIONS="refresh:$OPTIONS" ;; tmp=*) TDIR="$oarg" ;; url=*) SRVURL="-u $oarg" ;; esac fi done if test ! "x$short_opts" = "x" ; then while getopts d:t:u:hkv i $short_opts ; do case $i in d) DSNAME="-d $OPTARG" ;; h) printhelp ; exit ;; k) KEEPOPT="-k" ;; t) TDIR="$OPTARG" ;; u) SRVURL="-u $OPTARG" ;; v) DBGOPT="-v" ;; \?) printhelp; exit 1 ;; esac if test ! "x$OPTARG" = "x" ; then noa= for a in $other_args ; do if test ! "x$OPTARG" = "x$a" ; then noa="$noa $a" fi done other_args=$noa fi done # Fill empty fields with any non-prefixed argument if test ! "x$other_args" = "x" && test "x$DSNAME" = "x" ; then DSNAME="-d $other_args" fi fi if test ! "x$OPTIONS" = "x" ; then OPTIONS="-o $OPTIONS" fi # Run export TMPDIR="$TDIR"; $PQ2 ls $DBGOPT $KEEPOPT $DSNAME $OPTIONS $SRVURL