X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=tools%2Fprepare_data;h=a7f1eb4e2a8404eb7adb921fb62c998b8030d3a7;hp=76ced9ff84a824d01681dcefc2239fb92121cfa1;hb=2829b50d6b3d9e97fc9399f5b6929f7d64021366;hpb=a550cf151e8fc6626e788fb2bdc72cf03565ff8b diff --git a/tools/prepare_data b/tools/prepare_data index 76ced9f..a7f1eb4 100755 --- a/tools/prepare_data +++ b/tools/prepare_data @@ -3,6 +3,8 @@ indir=datasrc descfile=$indir/datadesc outdir=data +filter=$1 +force_update=false process() { @@ -33,23 +35,44 @@ copy() fi } +for arg; do + case "$arg" in + -f) + force=true + ;; + esac +done + +if [ -z "$filter" ]; then + filter='.*' +fi + mkdir -p $outdir while read line; do - line=$(echo $line | sed 's/#.*$//') + line=$(echo $line | sed 's/#.*$//' | grep "$filter") if [ -n "$line" ]; then path=$(echo $line | awk -F : '{ print $1; }') fname=$(basename $path) op=$(echo $line | awk -F : '{ print $2; }' | xargs) - if [ "$op" = nop ]; then - echo copying $fname - mkdir -p $outdir/$(dirname $path) - copy $indir/$path $outdir/$path - else - echo processing $fname - mkdir -p $outdir/$(dirname $path) - process $indir/$path $outdir/$path "$op" - fi + infile=$indir/$path + outfile=$outdir/$path + + if $force_update; then + touch "$infile" + fi + + if [ \( ! -f "$outfile" \) -o \( "$infile" -nt "$outfile" \) ]; then + if [ "$op" = nop ]; then + echo copying $fname + mkdir -p $outdir/$(dirname $path) + copy $indir/$path $outdir/$path + else + echo processing $fname + mkdir -p $outdir/$(dirname $path) + process $indir/$path $outdir/$path "$op" + fi + fi fi done <$descfile