This shows you the differences between two versions of the page.
Next revision Both sides next revision | |||
update-opac.sh [27/10/2006 15:17] fernando creado |
update-opac.sh [28/10/2006 20:39] fernando |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
Line 149: | Line 148: | ||
# en este directorio están almacenadas las imágenes de las tapas (si las hay) | # en este directorio están almacenadas las imágenes de las tapas (si las hay) | ||
- | #DIR_IMG=$HOME/www/html/catalis_pack_devel/opacmarc/img/$DB_NAME | + | DIR_IMG=$HOME/www/html/catalis_pack_devel/opacmarc/img/$DB_NAME |
- | DIR_IMG=$WORK_DIR/img | + | #DIR_IMG=$WORK_DIR/img |
# a este directorio van a parar los archivos generados (opcional) | # a este directorio van a parar los archivos generados (opcional) | ||
Line 156: | Line 155: | ||
# MOVE=1 para mover los archivos generados al directorio destino ($TARGET_DIR) | # MOVE=1 para mover los archivos generados al directorio destino ($TARGET_DIR) | ||
- | MOVE=0 | + | MOVE=1 |
# CLEAN=1 para eliminar archivos temporales creados durante la generación del OPAC | # CLEAN=1 para eliminar archivos temporales creados durante la generación del OPAC | ||
- | CLEAN=0 | + | CLEAN=1 |
# CONVERT_WINDOWS=1 para generar al final del proceso una version | # CONVERT_WINDOWS=1 para generar al final del proceso una version | ||
Line 196: | Line 195: | ||
fi | fi | ||
- | # En este directorio se encuentra el archivo .zip con la base original (biblio.mst, biblio.xrf) | + | # En este directorio se encuentra la base original |
SOURCE_DIR=$WORK_DIR/original | SOURCE_DIR=$WORK_DIR/original | ||
- | |||
- | # El archivo .zip con la base original | ||
- | SOURCE_FILE=$SOURCE_DIR/$DB_NAME.zip | ||
- | if [ ! -f $SOURCE_FILE ]; then | ||
- | error "No se encuentra el archivo $SOURCE_FILE" | ||
- | fi | ||
# Hay que usar el path *absoluto* para el cipar | # Hay que usar el path *absoluto* para el cipar | ||
Line 229: | Line 222: | ||
fi | fi | ||
- | # Descomprimimos el archivo .zip | ||
- | unzip -o $SOURCE_FILE -d tmp || error "No se pudo descomprimir el archivo $SOURCE_FILE" | ||
- | # El 2do parametro (opcional) indica cuantos registros procesar | + | # La base de datos original puede estar en diversos formatos: |
+ | # ZIP: dbname.zip o biblio.zip (contiene biblio.mst y biblio.xrf) | ||
+ | # TGZ: dbname.tgz o dbname.tar.gz [PENDIENTE] | ||
+ | # MST/XRF: biblio.mst y biblio.xrf | ||
+ | # MRC: dbname.mrc | ||
+ | # ISO: dbname.iso o biblio.iso | ||
+ | # ID: dbname.id o biblio.id | ||
+ | if [ -f $SOURCE_DIR/$DB_NAME.zip ]; then | ||
+ | unzip -o $SOURCE_DIR/$DB_NAME.zip -d tmp || error | ||
+ | |||
+ | elif [ -f $SOURCE_DIR/biblio.zip ]; then | ||
+ | unzip -o $SOURCE_DIR/biblio.zip -d tmp || error | ||
+ | |||
+ | elif [[ -f $SOURCE_DIR/biblio.mst && -f $SOURCE_DIR/biblio.xrf ]]; then | ||
+ | cp -f $SOURCE_DIR/biblio.{mst,xrf} tmp/ || error | ||
+ | |||
+ | elif [ -f $SOURCE_DIR/$DB_NAME.mrc ]; then | ||
+ | echo | ||
+ | cecho "blue" "Importando archivo $SOURCE_DIR/$DB_NAME.mrc..." | ||
+ | php $OPACMARC_DIR/mrc2isis.php $SOURCE_DIR/$DB_NAME.mrc > tmp/$DB_NAME.id || error "Falla al ejecutar mrc2isis.php" | ||
+ | id2i tmp/$DB_NAME.id create=tmp/biblio || error "Hubo una falla al ejecutar id2i" | ||
+ | |||
+ | elif [ -f $SOURCE_DIR/$DB_NAME.iso ]; then | ||
+ | mx iso=$SOURCE_DIR/$DB_NAME.iso create=tmp/biblio now -all || error | ||
+ | |||
+ | elif [ -f $SOURCE_DIR/biblio.iso ]; then | ||
+ | mx iso=$SOURCE_DIR/biblio.iso create=tmp/biblio now -all || error | ||
+ | |||
+ | elif [ -f $SOURCE_DIR/$DB_NAME.id ]; then | ||
+ | id2i $SOURCE_DIR/$DB_NAME.id create=tmp/biblio || error | ||
+ | |||
+ | elif [ -f $SOURCE_DIR/biblio.id ]; then | ||
+ | id2i $SOURCE_DIR/biblio.id create=tmp/biblio || error | ||
+ | |||
+ | else | ||
+ | error "No se encuentra la base de datos original" | ||
+ | fi | ||
+ | |||
+ | |||
+ | # El 2do parametro (opcional) indica cuántos registros procesar | ||
if [ ! -z $2 ]; then | if [ ! -z $2 ]; then | ||
MAXCOUNT=$2 | MAXCOUNT=$2 | ||
Line 479: | Line 509: | ||
echo | echo | ||
- | cecho "blue" " Archivo invertido - Base de temas ..." | + | cecho "blue" " Archivo invertido - Base de temas..." |
mx subj fst=@HEADINGS.FST actab=AC-ANSI.TAB uctab=UC-ANSI.TAB fullinv=subj tell=$TELL || error "Hubo una falla al ejecutar mx" | mx subj fst=@HEADINGS.FST actab=AC-ANSI.TAB uctab=UC-ANSI.TAB fullinv=subj tell=$TELL || error "Hubo una falla al ejecutar mx" | ||
echo | echo | ||
- | cecho "blue" " Archivo invertido - Base de nombres ..." | + | cecho "blue" " Archivo invertido - Base de nombres..." |
mx name fst=@HEADINGS.FST actab=AC-ANSI.TAB uctab=UC-ANSI.TAB fullinv=name tell=$TELL || error "Hubo una falla al ejecutar mx" | mx name fst=@HEADINGS.FST actab=AC-ANSI.TAB uctab=UC-ANSI.TAB fullinv=name tell=$TELL || error "Hubo una falla al ejecutar mx" | ||
echo | echo | ||
- | cecho "blue" " Archivo invertido - Base de titulos ..." | + | cecho "blue" " Archivo invertido - Base de titulos..." |
mx title "fst=2 0 '~',@HEADSORT.PFT" actab=AC-ANSI.TAB uctab=UC-ANSI.TAB fullinv=title tell=$TELL || error "Hubo una falla al ejecutar mx" | mx title "fst=2 0 '~',@HEADSORT.PFT" actab=AC-ANSI.TAB uctab=UC-ANSI.TAB fullinv=title tell=$TELL || error "Hubo una falla al ejecutar mx" | ||
echo | echo | ||
- | cecho "blue" " Archivo invertido - Base bibliografica ..." | + | cecho "blue" " Archivo invertido - Base bibliografica..." |
mx biblio gizmo=DICTGIZ fst=@BIBLIO.FST actab=AC-ANSI.TAB uctab=UC-ANSI.TAB stw=@BIBLIO.STW fullinv=biblio tell=$TELL || error "Hubo una falla al ejecutar mx" | mx biblio gizmo=DICTGIZ fst=@BIBLIO.FST actab=AC-ANSI.TAB uctab=UC-ANSI.TAB stw=@BIBLIO.STW fullinv=biblio tell=$TELL || error "Hubo una falla al ejecutar mx" | ||
Line 500: | Line 530: | ||
echo | echo | ||
- | cecho "blue" " Detectando registros analíticos ..." | + | cecho "blue" " Detectando registros analíticos..." |
# Para los registros analíticos, creamos un 773$9 donde guardar el MFN | # Para los registros analíticos, creamos un 773$9 donde guardar el MFN | ||
# del registro asociado, y así ahorrar futuros lookups en el diccionario | # del registro asociado, y así ahorrar futuros lookups en el diccionario | ||
Line 515: | Line 545: | ||
echo | echo | ||
- | cecho "blue" " Títulos de seriadas ..." | + | cecho "blue" " Títulos de seriadas..." |
#mx biblio "-BIBLEVEL=S" "pft=replace(v245*2,'^','~')" now -all > title_serial.txt | #mx biblio "-BIBLEVEL=S" "pft=replace(v245*2,'^','~')" now -all > title_serial.txt | ||
Line 596: | Line 626: | ||
# ----------------------------------------------------- | # ----------------------------------------------------- | ||
mx MSC "proc=if l(['biblio']'-MSC='v1) > 0 then 'd7a7@',f(npost(['biblio']'-MSC='v1),1,0),'@' fi" copy=MSC now -all tell=$TELL || error "Hubo una falla al ejecutar mx" | mx MSC "proc=if l(['biblio']'-MSC='v1) > 0 then 'd7a7@',f(npost(['biblio']'-MSC='v1),1,0),'@' fi" copy=MSC now -all tell=$TELL || error "Hubo una falla al ejecutar mx" | ||
+ | # TO-DO: compactar la base MSC | ||
fi | fi | ||
Line 687: | Line 718: | ||
cecho "blue" "Eliminando archivos temporales..." | cecho "blue" "Eliminando archivos temporales..." | ||
rm -rf tmp/ || error "No se puede eliminar el directorio tmp" | rm -rf tmp/ || error "No se puede eliminar el directorio tmp" | ||
- | rm -rf *.ln* 2> /dev/null | + | rm -rf *.ln* 2>/dev/null |
- | rm -rf *.lk* 2> /dev/null | + | rm -rf *.lk* 2>/dev/null |
fi | fi | ||
Line 707: | Line 738: | ||
echo | echo | ||
exit 0 | exit 0 | ||
- | </code> | + |