#!/bin/sh
#!/bin/sh

USAGE="usage: NlmPubMedExplorCorpus -q query [-s size] [-d directory]" 

SIZE=100
DIRECTORY=ExplorPubmed
EXPLOR_WIKI_PATH=Sante
EXPLOR_WIKI_LINK=wicri-sante.fr
EXPLOR_WIKI_ICON=https://lorexplor.istex.fr/Wicri/Wicri/pool/images/2/2e/LogoWicriSante20140904Fr.png

while getopts d:l:p:q:s:t: c
do
  case $c in
  d) DIRECTORY=$OPTARG
     EXPLOR_AREA=$DIRECTORY
     EXPLOR_AREA_CODE=$DIRECTORY
     EXPLOR_AREA_TITLE="Serveur d'exploration $EXPLOR_AREA" 
     EXPLOR_AREA_STRLEN=${#EXPLOR_AREA} 
     EXPLOR_AREA_GENERIC_NAME=${EXPLOR_AREA:0:$EXPLOR_AREA_STRLEN-2};;
  l) EXPLOR_WIKI_LINK=$OPTARG
     EXPLOR_WIKI_ICON=`StrDictSelect -t $DILIB/data/Wicri/Wicri/wicriUrlLogos.tab -k $EXPLOR_WIKI_LINK`
     ;;
  p) EXPLOR_WIKI_PATH=$OPTARG;;
  q) QUERY=$OPTARG
     EXPLOR_AREA_QUERY=$QUERY    ;;
  s) SIZE=$OPTARG ;;
  t) EXPLOR_AREA_TITLE=$OPTARG ;;
  \?) echo -$c $OPTARG unknowed option
       echo $USAGE
       exit 2;;
  esac
done

EXPLOR_AREA_SIZE=$SIZE

export EXPLOR_AREA
export EXPLOR_AREA_CODE
export EXPLOR_AREA_TITLE
export EXPLOR_AREA_QUERY
export EXPLOR_AREA_SIZE
export EXPLOR_AREA_GENERIC_NAME
export EXPLOR_WIKI_PATH
export EXPLOR_WIKI_LINK
export EXPLOR_WIKI_ICON

if  [ -d "$DIRECTORY" ]; then
 sh  $DIRECTORY/bin/AreaReset.sh
else
 mkdir $DIRECTORY
 mkdir $DIRECTORY/Import
 mkdir $DIRECTORY/FixBin
 mkdir $DIRECTORY/FixData
 mkdir $DIRECTORY/FixData/Pmc
 mkdir $DIRECTORY/FixData/Pmc/Corpus
 mkdir $DIRECTORY/FixInput
fi

cat <<EOF > $DIRECTORY/FixInput/init.sh
EXPLOR_AREA_CODE=$EXPLOR_AREA_CODE
EXPLOR_AREA_TITLE="$EXPLOR_AREA_TITLE"
EXPLOR_AREA_QUERY="$EXPLOR_AREA_QUERY"
EXPLOR_AREA_GENERIC_NAME=$EXPLOR_AREA_GENERIC_NAME
EXPLOR_WIKI_PATH=$EXPLOR_WIKI_PATH
EXPLOR_WIKI_LINK=$EXPLOR_WIKI_LINK
EXPLOR_WIKI_ICON=$EXPLOR_WIKI_ICON

export EXPLOR_AREA_CODE
export EXPLOR_AREA_TITLE
export EXPLOR_AREA_QUERY
export EXPLOR_AREA_SIZE
export EXPLOR_AREA_GENERIC_NAME
export EXPLOR_WIKI_PATH
export EXPLOR_WIKI_LINK
export EXPLOR_WIKI_ICON
EOF

NlmPubMedGetCorpus -q "$QUERY" -s $SIZE -x  > $DIRECTORY/Import/pubmed_result.xml

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, data" \
          | ExplorParamShellReplace          \
      > $DIRECTORY/Import/WicriAreaParam.data.wiki

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, main" \
          | ExplorParamShellReplace          \
      > $DIRECTORY/Import/WicriAreaParam.main.wiki

ExplorAreaDataCreate -d $DIRECTORY
make -f $DIRECTORY/bin/area.mk

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, corpus" \
          | ExplorParamShellReplace          \
      > $DIRECTORY/Import/WicriAreaParam.corpus.wiki

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, fr" \
          | ExplorParamShellReplace             \
      > $DIRECTORY/Import/WicriAreaSiteParam.fr.wiki

sh $DIRECTORY/bin/AreaCreateSite.fr.sh

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, size"\
      > $DIRECTORY/Import/ListKeys.wiki

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, size" \
          | ExplorParamShellReplace             \
      > $DIRECTORY/Import/WicriAreaSiteParam.size.wiki

cat $DIRECTORY/Import/ListKeys.wiki    \
  |  MediaWikiCleanTable        \
  | MediaWikiTable2SxmlRowCol   \
  | MediaWikiTableTransformCol -t 123 -T 4 > $DIRECTORY/Input/ListKeys.xml

ExplorGenerTemplateSize -f $DIRECTORY/Input/ListKeys.xml >  $DIRECTORY/exportSize.xml

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, maps" \
          | ExplorParamShellReplace             \
      > $DIRECTORY/Import/WicriAreaSiteParam.maps.wiki

cat $DIRECTORY/Import/WicriAreaSiteParam.maps.wiki   \
    | MediaWikiExtractSources -w | HfdStoreFile

WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Paramètres, include" \
          | ExplorParamShellReplace             \
      > $DIRECTORY/Import/WicriAreaSiteParam.include.wiki

cat $DIRECTORY/Import/WicriAreaSiteParam.include.wiki   \
    | MediaWikiExtractSources -w | HfdStoreFile

MediaWikiExportCommand -c fileBegin > $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "$EXPLOR_AREA_TITLE" >> $DIRECTORY/exportWiki.xml
WicriGetPage -l wicri-outils.fr -p "Wicri:ExplorPubmed/Modèles/Page wiki" \
          | ExplorParamShellReplace             \
          |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" \
      >>  $DIRECTORY/exportWiki.xml
MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "Wicri:$EXPLOR_AREA" >> $DIRECTORY/exportWiki.xml
cat  $DIRECTORY/Import/WicriAreaParam.main.wiki \
  |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" >> $DIRECTORY/exportWiki.xml
MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "Wicri:$EXPLOR_AREA/Paramètres, corpus" >> $DIRECTORY/exportWiki.xml
cat  $DIRECTORY/Import/WicriAreaParam.corpus.wiki \
  |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" >> $DIRECTORY/exportWiki.xml
MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "Wicri:$EXPLOR_AREA/Paramètres, data" >> $DIRECTORY/exportWiki.xml
cat  $DIRECTORY/Import/WicriAreaParam.data.wiki \
  |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" >> $DIRECTORY/exportWiki.xml
MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "Wicri:$EXPLOR_AREA/Paramètres, fr" >> $DIRECTORY/exportWiki.xml
cat  $DIRECTORY/Import//WicriAreaSiteParam.fr.wiki \
  |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" >> $DIRECTORY/exportWiki.xml
MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "Wicri:$EXPLOR_AREA/Paramètres, maps" >> $DIRECTORY/exportWiki.xml
cat  $DIRECTORY/Import//WicriAreaSiteParam.maps.wiki \
  |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" >> $DIRECTORY/exportWiki.xml
MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "Wicri:$EXPLOR_AREA/Paramètres, size" >> $DIRECTORY/exportWiki.xml
cat  $DIRECTORY/Import//WicriAreaSiteParam.size.wiki \
  |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" >> $DIRECTORY/exportWiki.xml
MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageBegin -p "Wicri:$EXPLOR_AREA/Paramètres, include" >> $DIRECTORY/exportWiki.xml
cat  $DIRECTORY/Import//WicriAreaSiteParam.include.wiki \
  |  sed "s/</\&lt;/g" |  sed "s/>/\&gt;/g" >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c pageEnd >> $DIRECTORY/exportWiki.xml

sh  $DIRECTORY/FixBin/AreaGenerWikiTemplateMaps.sh >> $DIRECTORY/exportWiki.xml

ExplorGenerTemplateSize -f $DIRECTORY/Input/ListKeys.xml -p >> $DIRECTORY/exportWiki.xml

source $DIRECTORY/FixBin/AreaGenerWikiTemplateInclude.sh  >> $DIRECTORY/exportWiki.xml

MediaWikiExportCommand -c fileEnd >> $DIRECTORY/exportWiki.xml
