#!/bin/sh

# wget "--spider" would be faster than "-O /dev/null", but is broken (see "http://savannah.gnu.org/bugs/?21504").
# now use 'curl -I -s -S "%" | egrep "(curl:|HTTP/1.1 404)"', since that will show us the 'curl: (19) Given file does not exist; error message (ftp output is different from http'
# need to use a function, since we need to list the path
# need to export it after declaration, so it is available to sub-shells
# need to force xargs to create a sub-shell

doit()
{
echo "$1"
curl -I -s -S "$1" | egrep "(curl:|HTTP/1.1 404)"
}
export -f doit

egrep '<cp>' ./status.xml | egrep '<link>' | grep '<hasDocBook/>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.xml/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<cp>' ./status.xml | egrep '<link>' | grep '<hasWord/>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.doc/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<cp>' ./status.xml | egrep '<link>' | grep '<hasWordX/>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.docx/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<cp>' ./status.xml | egrep '<link>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.pdf/' | xargs -L1 -I% sh -c 'doit "%"'

egrep '<supplement>' ./status.xml | egrep '<link>' | grep '<hasDocBook/>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.xml/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<supplement>' ./status.xml | egrep '<link>' | grep '<hasWord/>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.doc/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<supplement>' ./status.xml | egrep '<link>' | grep '<hasWordX/>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.docx/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<supplement>' ./status.xml | egrep '<link>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.pdf/' | xargs -L1 -I% sh -c 'doit "%"'

egrep '<supplement>' ./status.xml | egrep '<slidelink>' | sed -e 's/^.*<slidelink>//' -e 's/<\/slidelink>.*$//' | xargs -L1 -I% sh -c 'doit "%"'

egrep '<readMeLink>' ./status.xml | grep '<hasWord/>' | sed -e 's/^.*<readMeLink>//' -e 's/<\/readMeLink>.*$/.doc/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<readMeLink>' ./status.xml | sed -e 's/^.*<readMeLink>//' -e 's/<\/readMeLink>.*$/.pdf/' | xargs -L1 -I% sh -c 'doit "%"'

egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "ftp://medical.nema.org/medical/dicom/current/output/pdf/%.pdf"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "ftp://medical.nema.org/medical/dicom/current/output/html/%.html"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "ftp://medical.nema.org/medical/dicom/current/output/docx/%.docx"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "ftp://medical.nema.org/medical/dicom/current/output/odt/%.odt"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "ftp://medical.nema.org/medical/dicom/current/source/docbook/%/%.xml"'

egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "http://dicom.nema.org/medical/dicom/current/output/pdf/%.pdf"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "http://dicom.nema.org/medical/dicom/current/output/html/%.html"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "http://dicom.nema.org/medical/dicom/current/output/docx/%.docx"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "http://dicom.nema.org/medical/dicom/current/output/odt/%.odt"'
egrep '<part>' ./status.xml | egrep '<basename>' | sed -e 's/^.*<basename>//' -e 's/<\/basename>.*$//' | xargs -L1 -I% sh -c 'doit "http://dicom.nema.org/medical/dicom/current/source/docbook/%/%.xml"'

egrep '<part>' ./status.xml | egrep '<link>' | grep '<hasWord/>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.doc/' | xargs -L1 -I% sh -c 'doit "%"'
egrep '<part>' ./status.xml | egrep '<link>' | sed -e 's/^.*<link>//' -e 's/<\/link>.*$/.pdf/' | xargs -L1 -I% sh -c 'doit "%"'
