Skip to content
Snippets Groups Projects
import-marc-auth.bat 2.22 KiB
Newer Older
Demian Katz's avatar
Demian Katz committed
@echo off
rem Wrapper around import-marc.sh to allow import of authority records.

rem No arguments?  Display syntax:
if not "!%1!"=="!!" goto argfound
echo     Usage: %0 c:\path\to\marc.mrc [properties file]
goto end
:argfound

rem Make sure we know where the VuFind home directory lives:
if not "!%VUFIND_HOME%!"=="!!" goto vufindhomefound
Demian Katz's avatar
Demian Katz committed
rem VUFIND_HOME not set -- try to call env.bat to
Demian Katz's avatar
Demian Katz committed
rem fix the problem before we give up completely
if exist env.bat goto useenvbat
rem If env.bat doesn't exist, the user hasn't run the installer yet.
echo ERROR: env.bat does not exist -- could not set up environment.
echo Please run "php install.php" to correct this problem.
Demian Katz's avatar
Demian Katz committed
goto end
:useenvbat
call env > nul
Demian Katz's avatar
Demian Katz committed
if not "!%VUFIND_HOME%!"=="!!" goto vufindhomefound
echo You need to set the VUFIND_HOME environmental variable before running this script.
goto end
:vufindhomefound

rem Override some settings in the standard import script:
if not exist %VUFIND_LOCAL_DIR%\import\import_auth.properties goto nolocalproperties
set PROPERTIES_FILE=%VUFIND_LOCAL_DIR%\import\import_auth.properties
goto propertiesfound
:nolocalproperties
set PROPERTIES_FILE=%VUFIND_HOME%\import\import_auth.properties
:propertiesfound

rem Always use the authority mappings from PROPERTIES_FILE
rem if the user specified an override file, add that to the setting.
set MAPPINGS_FILENAMES=""
for /f "delims=" %%a in ('findstr "^solr.indexer.properties" %PROPERTIES_FILE%') do set MAPPINGS_FILENAMES=%%a
set MAPPINGS_FILENAMES="%MAPPINGS_FILENAMES:solr.indexer.properties=%"
if not "%2"=="" set MAPPINGS_FILENAMES=%MAPPINGS_FILENAMES%,%2
set MAPPINGS_FILENAMES=%MAPPINGS_FILENAMES:"=%

setlocal EnableDelayedExpansion
set MAPPINGS_FILES=""
for %%a in (%MAPPINGS_FILENAMES%) do (
    if not !MAPPINGS_FILES!=="" set MAPPINGS_FILES=!MAPPINGS_FILES!,
    if exist %VUFIND_LOCAL_DIR%\import\%%a (
        set MAPPINGS_FILES=!MAPPINGS_FILES!%VUFIND_LOCAL_DIR%\import\%%a
    ) else (
        set MAPPINGS_FILES=!MAPPINGS_FILES!%VUFIND_HOME%\import\%%a
    )
)
set MAPPINGS_FILES=%MAPPINGS_FILES:~2,99999%
setlocal DisableDelayedExpansion

Demian Katz's avatar
Demian Katz committed
set SOLRCORE="authority"
set EXTRA_SOLRMARC_SETTINGS="-Dsolr.indexer.properties=%MAPPINGS_FILES%"
Demian Katz's avatar
Demian Katz committed

rem Call the standard script:
call %VUFIND_HOME%\import-marc.bat %1

Demian Katz's avatar
Demian Katz committed
:end