Skip to content
Snippets Groups Projects
import-marc-auth.sh 1.61 KiB
Newer Older
Demian Katz's avatar
Demian Katz committed
#!/bin/bash
#
# Wrapper around import-marc.sh to allow import of authority records.
#

E_BADARGS=65

# No arguments?  Display syntax:
if [ $# -eq 0 ]
then
  echo "    Usage: `basename $0` ./path/to/marc.mrc [properties file]"
  exit $E_BADARGS
fi

##################################################
# Set VUFIND_HOME
##################################################
if [ -z "$VUFIND_HOME" ]
then
  # set VUFIND_HOME to the absolute path of the directory containing this script
  # https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself
  export VUFIND_HOME="$(cd "$(dirname "$0")" && pwd -P)"
  if [ -z "$VUFIND_HOME" ]
  then
    exit 1
  fi
fi


Demian Katz's avatar
Demian Katz committed
# Always use the standard authority mappings; if the user specified an override
# file, add that to the setting.
if [ -f "$VUFIND_LOCAL_DIR/import/marc_auth.properties" ]
then
  MAPPINGS_FILE="$VUFIND_LOCAL_DIR/import/marc_auth.properties"
else
  MAPPINGS_FILE="$VUFIND_HOME/import/marc_auth.properties"
fi
if [ $# -gt 1 ]
then
  if [ -f "$VUFIND_LOCAL_DIR/import/$2" ]
  then
    MAPPINGS_FILE="$MAPPINGS_FILE,$VUFIND_LOCAL_DIR/import/$2"
  else
    MAPPINGS_FILE="$MAPPINGS_FILE,$VUFIND_HOME/import/$2"
  fi
fi

# Override some settings in the standard import script:
if [ -f "$VUFIND_LOCAL_DIR/import/import_auth.properties" ]
then
  export PROPERTIES_FILE="$VUFIND_LOCAL_DIR/import/import_auth.properties"
else
  export PROPERTIES_FILE="$VUFIND_HOME/import/import_auth.properties"
fi
export SOLRCORE="authority"
export EXTRA_SOLRMARC_SETTINGS="-Dsolr.indexer.properties=$MAPPINGS_FILE"

# Call the standard script:
$VUFIND_HOME/import-marc.sh $1