Herramientas de usuario

Herramientas del sitio


museos:museo_mitre

Catalis y OpacMarc en el Museo Mitre

El muchacho de soporte es: Andrés Giacomelli Tel. (011) 4312-8917

soporte@secyt.gov.ar

Catalis

Archivo catalis.conf, modificaciones que requerían conocer la ruta absoluta dentro del servidor:

  PATH_DB=/var/webhosting/museomitre/bases/catalis_pack
  PATH_CGI-BIN=/var/webhosting/museomitre/cgi-bin/catalis_pack
  PATH_LOGS=/var/webhosting/museomitre/bases/catalis_pack/catalis/access_logs

Para averiguar la ruta, coloqué este script test-path.xis dentro de la carpeta cgi-bin/catalis_pack/catalis/xis:

    <IsisScript>
        <display><pft>'Content-type: text/plain'/#</pft></display>
        <display><pft>getenv('PATH_WXIS')</pft></display>
    </IsisScript>

Ejecuté el script con

  http://www.museomitre.gov.ar/cgi-bin/catalis_pack/wxis?IsisScript=catalis/xis/test-path.xis

y respondió:

  /var/webhosting/museomitre/cgi-bin/catalis_pack/

por lo tanto /var/webhosting/museomitre es la ruta buscada.

El script test-path.xis fue borrado del servidor.

El acceso a Catalis entonces queda así:

http://www.museomitre.gov.ar/catalis_pack/catalis/inicio.htm



Consultas de Raúl:

4) Pregunta: veo pudiste entrar con el FTP, verdad? Entonces, por qué en un primer momento dudaste y me escribiste que quizás no serviría solamente con FTP? Qué encontraste luego para poder subir todo? En breve, podrías escribírmelo, pues no entiendo qué es lo que necesita el ISIS y qué hace que tenga que “meterse” en el servidor?


Base bibliográfica

  • corrí newdb mitre
  • crunchmf, crunchif
  • edité db-descr.txt
  • subí base y archivos aux

Base de usuarios

  • edité users.txt
  • corrí users.bat
  • crunchmf, crunchif
  • subí base

PERO NO SUBI users.txt. SUBIRLO!

Sugerencia: los scripts users.bat y newdb.bat deben aceptar un parámetro “linux” para realizar automáticamente la conversión.

Prevención de registros corruptos?

Parches a Catalis

  • import.js para ansel (instalado 2008-09-17).
  • data-out.js (2008-09-24)
  • biblio.fst (2008-09-24)

Molesto cartel “resolución no prevista”: function setDimensions() en catalis.js ⇒ eliminado (2008-feb-07):

 //alert(message);

Permisos

Cambio de nombre de la carpeta “catalis_pack” ⇒ “catalis” (solicitado por Raúl). Es posible, pero hay que tocar 2 o 3 archivos: inicio.htm, catalis.conf

2008-feb-07: generación del invertido (en el servidor de BC) para la base mitre: mitre-catalis.zip. Subido al servidor, permisos 666 para los archivos de la base.

TODO: eliminar campo 991 de los registros importados (en Catalis se usa para identificar al catalogador que crea el registro, pero en LC tiene otro tipo de datos). Esto se produjo al importar registros en lote (no desde Catalis) usando un script no depurado. 2008-09-17: quité el 991 con el valor provisto por LC y lo reemplacé por el valor “RE”.

Campos añadidos

17/sep/2008: Agregué campo 099 (signatura topográfica local) a marc21.xml. ERROR: en el form de edición aparece dentro del bloque Descripción. PENDIENTE: Agregarlo a las plantillas de registros, y a los estilos de visualización.

24/sep/2008 - En resumen, estos son los archivos modificados para poder utilizar el campo 099:

  • Para que el campo 099 se pueda agregar desde el form de edición y aparezca en el bloque “Otros datos”:
    • marc21.xml: <datafield tag=“099”>
    • head.htm: FIELD_BLOCK_PATTERN.other
  • Para que el campo 099 vaya al diccionario:
    • biblio.fst: prefijo “-ST=
  • Para que el campo 099 esté presente en registros nuevos o importados:
    • templates.js
    • import.js: agregar campo 099 a registros importados de la base mitre
  • Para que el campo 099 aparezca en los diferentes estilos de visualización de registros:
    • marc2aacr.js
    • wh.pft (hecho, 2009-12-11)
    • etiquetado.pft (hecho, 2009-12-11)

Correcciones en la base

Por un error en el proceso de importación en lote de los 100 registros de muestra de LC, el campo 909 (pos. 09 del leader) estaba sin datos. Al intentar colocar en él el valor “#”, detectamos que el registro con MFN 95 está corrupto. Peor aun, encontramos que hubo un error cuando se aplicó el “parche” para evitar la corrupción de registros con MFN bajo: En lugar de dejar en blanco los primeros 100 MFNs, se los siguió usando, pero se les modificó el valor del campo 001 (e.g., MFN 1 ⇒ nro. de control 000100).

Hay que volver a realizar el proceso: colocar los 100 MFNs vacíos al comienzo de la base, y generar el archivo invertido.

Además, hay que limpiar la base de campos extraños (ver con MXF0).

OpacMarc

Instrucciones:

  http://catalis.uns.edu.ar/dokuwiki/doku.php/instalacion_de_opacmarc

Descargué esta versión:

  http://inmabb.criba.edu.ar/varios/opacmarc/opacmarc-2006.11.13-linux.tgz

y subí el contenido de las carpetas cgi-bin, htdocs y bases.

Configuración: local.conf, líneas modificadas:

  PATH_DB=/var/webhosting/museomitre/bases/opacmarc
  PATH_CGI-BIN=/var/webhosting/museomitre/cgi-bin/opacmarc
  PATH_LOGS=/var/webhosting/museomitre/bases/opacmarc/opac/access_logs
  PATH_AGREP=/var/webhosting/museomitre/cgi-bin/opacmarc/agrep

Copio el wxis a cgi-bin/opacmarc. Deberíamos compartir el wxis con Catalis, pero al no poder crear un link simbólico, por ahora queda así. Le asigno permisos de ejecución a wxis.

A la carpeta access_logs le pongo permisos 0777.

agrep: subí el que usamos en catalis.uns.edu.ar. Sugerencia: incluirlo en la distribución de opacmarc. Permisos de ejecución para agrep.

Acceso (original):

  http://www.museomitre.gov.ar/cgi-bin/opacmarc/wxis?IsisScript=opac/xis/opac.xis&db=demo

Luego modificado a

http://www.museomitre.gov.ar/cgi-bin/opacmarc/wxis?IsisScript=opac/xis/opac.xis&db=mitre&showForm=simple

Logo: podría ser http://www.museomitre.gov.ar/nuevo/images/logo3.jpg

Base para demo: buscar en LC usando el encabezamiento “Mitre, Bartolomé, 1821-1906.”

Búsqueda en LC:

Guided Search = (Mitre AND Bartolomé AND 1821 AND 1906)[in Subject: Authorized (SKEY)] 
SEARCH RESULTS: Displaying 1 through 100 of 104.  

Archivo resultante: mitre.mrc (registros 1-100)

Usarla para reemplazar la base demo en Catalis y en el OPAC.

Luego de realizar varias correcciones en el script de importación, esta es la secuencia de pasos que utilicé:

En ~/catalis/ib-campi:

./im2c.sh ~/opacmarc-admin/work/mitre/original/mitre.mrc mitre
mx mitre create=~/opacmarc-admin/work/mitre/original/biblio now -all

En ~/opacmarc-admin/bin:

./update-opac.sh mitre

Los archivos generados están en mitre-opac.zip

Incluir aquí una imagen del árbol de carpetas del servidor.

Personalización del banner

SAI, 30 de noviembre de 2007.

Para personalizar el banner, se deben modificar los archivos siguientes:

  1. \cgi-bin\opacmarc\opac\banner\mitre.htm (HTML)
  2. \html\opacmarc\opac\css\banner\mitre.css (CSS)

En el archivo HTML hay que preservar el atributo href de los enlaces:

nueva búsqueda

[pft]v6001^u[/pft]?IsisScript=[pft]v2000[/pft]&amp;db=[pft]v2104[/pft]&amp;showForm=simple

acerca del catálogo

[pft]v6001^u[/pft]?IsisScript=[pft]v2000[/pft]&amp;db=[pft]v2104[/pft]&amp;task=SHOW_ABOUT

También debe preservarse la línea final:

<div id="contentWrapper"> <!-- se cierra en el footer -->

En el archivo CSS, no hay nada que preservar, se puede modificar libremente para controlar el aspecto visual del banner.

Para concentrar en un único lugar las modificaciones a los CSS, creamos un nuevo archivo, custom-mitre.css, y lo incluimos agregando esta línea en opac-head.htm:

<link rel="stylesheet" type="text/css" href="[pft]v6003^h[/pft]opac/css/custom-[pft]v2104[/pft].css">

Modificaciones al OPAC

Estos son los cambios solicitados:

Formato de visualización por defecto

Usar por defecto el formato etiquetado de Catalis.

Archivos modificados:

  • local.conf: DEFAULT_RECORD_STYLE=Etiquetado
  • opac-head.htm: descomentar <link rel=“stylesheet” type=“text/css” href=“[pft]v6003^h[/pft]common/css/etiquetado.css”>
  • bib-record-2.htm: proc('a6017~Etiquetado~a6017~Completo~a6017~Ficha~a6017~MARC~'),
  • custom-mitre.css (hay muchos más cambios no registrados en el wiki):
  table#Etiquetado {
    font-family: verdana, arial, helvetica, sans-serif;
    font-size: 0.8em;
    margin: auto;    <= centrar tabla
    width: 90%;      <= ancho constante
  }
  table#Etiquetado td.label {
    font-style: normal;
    font-weight: bold;
    white-space: nowrap; <= etiqueta en una sola línea
  }
  table#Etiquetado .materialTypeHeader {
    background-color: #ACA698;  <= color de la muestra de Raúl
    text-transform: uppercase;
  }
  • etiquetado.pft: Título/responsables (quité espacio); if v6001^t : v2104 (para que use DISPLAY_DOC_TYPE)
  • Ver separación entre última fila de datos, y la franja con el número de registro (chat 2008-03-10)

Orden de los campos

  • [HECHO] Ver chat 2008-03-08

Anatomía

  div#etiquetadoWrapper
      table#Etiquetado
          tfoot#etiqFoot
              tr
                  td
          tbody
              tr
                  td
                      table
                          thead
                              tr
                                  th.materialTypeHeader
                          tbody
                              tr
                                  td.label
                                  td.data
                              tr
                                  td.label
                                  td.data
                              ...
                  td#locationCell
                      table
                          thead
                              tr
                                  th
                          tbody
                              tr
                                  td

Colores

Cambiar el fondo a colores cálidos en el formato de visualización del registro (de los índices me ocuparé en otra oportunidad). Te adjunto un modelo de los colores exactos para cambiar y sería ideal que estén así: alternados uno con otro y un poco más pronunciado el tono, salteando campos.

Imagen adjunta

Lo que ví en algún lugar y que me encantó es que en la columna de la izquierda (es decir, donde están justamente las etiquetas) mantienen los mismos dos colores de los campos pero oscureciéndolos un poco más (si me permitís una palabra detestable: “agriseándolos”).

Bien, para lograr el efecto cebra (filas de colores alternados) adapté el script de http://www.alistapart.com/articles/zebratables. Archivos involucrados:

  • zebra-table.js
  • opac-head.htm:
<!-- Efecto cebra en tablas (2008-03-04) -->
<script type="text/javascript" src="[pft]v6003^h[/pft]opac/js/zebra-table.js"></script>
<script type="text/javascript">
function init() {
    if (document.getElementById("etiq")) {
        stripe("etiq");
    }
}
window.onload = init
</script>
  • etiquetado.pft: comenté (<!– –>) una <tr> que tenía display: none y afectaba la cuenta de filas.

Catálogo general + subcatálogos

Para un análisis detallado del problema, ver Subcatálogos en el OPAC.

¿Cuál te parece que sería la forma más fácil –según tu criterio– como para que del mismo catálogo general se generen catálogos especiales? ¿Mediante alguna palabra en algún campo de MARC? Intento explicarme un poco más: por ahora tendríamos estas colecciones cuyos registros se deberían recuperar en forma separada del OPAC:

  1. Biblioteca Americana
  2. Colección Moores
  3. Mapas
  4. Colección Ruiz Guiñazú
  5. Mitriana
  6. Hemeroteca
  7. Diarios del mundo (donación de R.E.)

A la vez los registros de estas colecciones deben estar integrados todos en la base de datos (OPAC).

Decidimos: usar un campo local ad hoc, pero intentando limitar su uso a los pocos casos que lo requieran. Por ejemplo, periódicas y mapas no requieren el uso de tal campo, pues basta con tomar la información del leader del registro MARC.

"Enlaces falsos"

En la visualización de un registro bibliográfico, eliminar los enlaces desde puntos de acceso que sólo están presentes en ese registro, y que por consiguiente no llevan al usuario a ningún otro registro.

¿Cómo se puede saber, al procesar un registro para su visualización, si un encabezamiento tiene más de un posting? Ver update-opac

2008-03-27: Ya está implementada una solución, para el estilo Etiquetado. Sólo hubo que modificar el archivo etiquetado.pft, agregando algo como esto, tanto para los subject added entries como para los non-subject added entries:

 /* Total de postings para este heading (2008-03-27) */
 proc('d7101a7101¦', ref(['NAME']l(['NAME']'_HEAD_'v8100^9),v11), '¦')
 if v7101[1] > '1' then
   '<a href=...'
 else
   '<span>'
 fi,

Explicación: en las bases NAME y SUBJ, cada registro tiene un campo 11 con el total de postings para el heading, i.e., cada heading “sabe” cuántos postings tiene. Por su parte, en los registros bibliográficos cada heading tiene un subcampo $9 que lo vincula con la correspondiente base de headings, e.g.

100 1# $a Pérez, José. $9 000172

Por lo tanto, mediante un ref+lookup en la base de headings, podemos saber, desde el registro bibliográfico, si un heading tiene o no más de 1 posting (que es la condición para mostrar u ocultar el link).

TAREA: agregarlo al Modular. Usar una opción de configuración para decidir si esto se activa.

Formularios de búsqueda

Eliminarlos de todas las páginas, excepto la página inicial del OPAC. [HECHO]

Ídem formulario de búsqueda.

Y lo mismo para el texto:

Consulte con los bibliotecarios para un mejor aprovechamiento de este catálogo: biblioteca@museomitre.gov.ar.
Este catálogo cuenta con 99 registros, y fue actualizado el 08/10/2007 a las 12:10 

ATENCION: al eliminar esos textos, también se ha perdido un margen por debajo del cuerpo de la página (ver p.ej. listado de autores). Posible solución:

custom-mitre.css:  div#resultWrapper {margin-bottom: 1.5em}  [HECHO]

ATENCION: ahora queda un vacío llamativo, falta algo en el pie de las páginas.

Columna con tipo de soporte/material

Raúl: “En los listados de autor título podría haber una opción de una columna con el tipo de soporte además de la fecha?”

Ya tenemos esa columna. Queda por ver qué valores queremos mostrar en ella, y cómo obtenerlos a partir de la información presente en cada registro.

Lista de valores:

  • AUDIO
  • DIARIO
  • FOTO/IMAGEN
  • LÁMINA
  • LIBRO
  • MAPA
  • MEDALLA
  • MICROFORMA
  • MONEDA
  • PLANO (de edificios, batallas) ⇐ averiguar cómo se registran en MARC
  • REVISTA
  • VIDEO

Ficha AACR2

Que el encabezamiento principal aparezca arriba, en negrita y un poco salido hacia la izquierda. Ver Capture.png, y agregar otros requerimientos de Raúl (ver chat).

Color de fondo: “cremita muuuuy clarito”. Opciones:

  • ivory de mkaz.com: #FFFFF0
  • Catalis: #FEFEF0

Archivos involucrados:

  • aacr.css
  • custom-mitre.css
  • marc2aacr.js
  • aacr2.pft
  • local.conf (MAIN_ENTRY_TOP)
  • opac-head.htm (MAIN_ENTRY_TOP)

PENDIENTE: para seriadas, mostrar las existencias como una nota.

Sugerencias cuando no hay coincidencias

  • Adecuar la lista de sugerencias (archivo zero-hits.xis) [HECHO]
Puede buscar XXXX usando alguna de estas herramientas:
Si lo desea, puede buscar XXXX en la Web usando alguna de estas herramientas:

    * Google
    * Google Scholar
    * Google Book Search
    * Scopus       <= QUITAR
    * MathSciNet   <= QUITAR
  • Incluir el formulario de búsqueda (sólo en estos casos) para facilitar la revisión del query.

Búsqueda avanzada

TAREA: Resucitar el formulario.

Primeras observaciones:

  • Búsqueda por un año específico: sería bueno no tener que completar “desde” y “hasta” con el mismo valor. ¿Qué hacemos? ¿Dividimos en dos casos, “Año exacto” y “Rango de años”? Ver más abajo, el caso de MathSciNet.
  • Sugiere Raúl (y Google lo confirma) que eliminemos el botón “Limpiar” (usado para resetear el form). Sugerencia aceptada. Si más adelante notamos que conviene tenerlo, podemos moverlo hacia un costado, y atenuar su color, para que interfiera lo menos posible.
  • Qué opciones incluir en “Otras características” (campo 008 y otros campos codificados): dice Raúl que “según las colecciones del Mitre, todos van a usarse, o todos deberían usarse”
  • El formulario se escapa del container por debajo, se soluciona añadiendo background-color: #FFFFFF; en div#contentWrapper.
  • Cambiamos los colores a los headers de los formularios (simple y avanzado): color claro sobre fondo oscuro. Los bordes superiores se conservan redondeados.
  • Alinear el extremo derecho de las casillas “hasta”, “lugar” y “editorial”.

2008-03-31

Decidimos probar una estructura algo diferente para el form avanzado, combinando características de la búsqueda avanzada de Google con la Guided Search de LC:

Utilice uno o más de los siguientes criterios para encontrar registros de su interés:

Encontrar registros que tengan...
  las palabras [         ] en [lista de campos]
    (x) y además   ( ) o bien
  las palabras [         ] en [lista de campos]

Pero excluir registros que tengan...
  las palabras [         ] en [lista de campos]

Otras características de los registros

El diseño parece satisfactorio. Raúl sugiere probarlo en el OPAC del INMABB. Sin embargo, por ahora sólo tenemos el diseño del form, y hay que modificar el código de la aplicación para que estas búsquedas funcionen correctamente.

Otra sugerencia, para la búsqueda por año de publicación: MathSciNet ofrece estas 3 opciones:

  • Toda la base de datos (i.e., sin límite de fecha)
  • = / < / > que un año específico
  • Rango de años: desde – hasta

HECHO (o empezado) 2008-05-07. Terminada la parte del form en 2008-05-12 (usando DOMAssistant). Pendiente: modificar opac.xis y keyword-match-in-bib-record.xis.

Otro detalle a tener en cuenta: al buscar por Lugar de publicación, aclarar si es por ciudad, país, etc. En general, la búsqueda basada en el campo 260 será por ciudad, y usando el campo 008 se puede ofrecer además la búsqueda por país.

Ver si es mejor que los títulos de cada bloque de campos no sean <lengend> de un fieldset.

2008-04-02

Dos opciones para presentar los operadores booleanos AND/OR: radio buttons o select. Preferimos un select a un par de radios, porque se lee más naturalmente si sólo se ve una opción a la vez.

Mirando el form de búsqueda avanzada de un OPAC de Koha, recordé que puede ser útil ofrecer las opciones de cómo ordenar los resultados, y cuántos mostrar por página. Raúl sugiere que no se debe volver muy complejo el form, ya que la presencia de numerosas opciones puede resultar intimidante, o hacer creer que es difícil buscar. Volviendo al form de búsqueda avanzada de Google, vemos una sencilla solución para ocultar/mostrar partes del form, usando JavaScript.

2008-04-07

Para aprender más sobre la búsqueda avanzada de Google: Searchlores.org

2008-04-10

Otro form avanzado para mirar: NCSU libraries.

Para un análisis del funcionamiento de la búsqueda avanzada, ver una página ad hoc en este wiki: Búsqueda avanzada en OpacMarc.

En Tipo de material sólo deben mostrarse las opciones disponibles en el catálogo.

2008-07-10

FIXME: Al hacer una búsqueda avanzada sale como <title> el texto “Índice de”

Búsqueda simple

  • Corregir un sobrante de 1px a la derecha en los headers de los 2 forms

Listados

Varios aspectos han sido modificados. Pendientes:

  • Reducir espacios en blanco verticales, p.ej. antes de la franja con las iniciales en los listados alfabéticos.

Guardar, imprimir, email

Agregar estas funcionalidades.

Bugs detectados en el OPAC

Raúl: Es la primera vez que siento la necesidad de consultar la base mediante un numero de registro. Me quedó por ahí el numero “140” en la cabeza e hice lo siguiente fui a búsqueda nueva y en el recuadro “buscar por palabras” pinté Cualquier campo y escribí 140 en “contiene las palabras”. El resultado: WXIS|execution error|missing|expression|

Otras sugerencias

De Mariana: añadir links para navegar por las páginas de resultados, usando números: 1 2 3 4 … Última

Python

Prueba 2008-10-01: Python 2.4.1 (usando system() con wxis)

Con print_r(apache_get_modules()) (PHP) veo que mod_python está instalado.

Pero si accedo a http://www.museomitre.gov.ar/opacmarc/test.py recibo 403 Forbidden. Parece que si no se añade explícitamente AddHandler mod_python .py en la config de Apache no se puede acceder a un .py.

¡Ahora sí! http://www.museomitre.gov.ar/opacmarc/test.py

Según indicaciones en http://www.campstaff.com/manual/mod/mod_python/inst-testing.html

.htaccess

AddHandler mod_python .py
PythonHandler mptest
PythonDebug On

mptest.py

from mod_python import apache
 
def handler(req):
    req.content_type = 'text/plain'
    req.write("Hello World!")
    return apache.OK

(Nótese que con esta prueba, nada importa lo que haya en test.py; cualquier llamada a un “.py”, existente o no, produce lo mismo)

Django no está disponible, pero habría que ver si lo podemos usar sin tener que “instalarlo”.

Subversion

Prueba 2008-10-01: sh: svn: command not found

Diciembre 2009: ajustes en Catalis y OpacMarc

Limpieza de la base de Catalis

Tareas del 16-dic-2009:

  • agregar subcampos $d, $e al 099 (marc21.xml), a la plantilla para libros (templates.js), y a la FST (biblio.fst) (HECHO - Falta testear FST)
  • corregir registro corrupto, MFN 95 (HECHO)
  • corregir campo 001 (HECHO)
  • limpiar campos raros (ver con mxf0): 920, 922, 923, 925, 952, 955, 984, 992. (HECHO)
  • ajustar cn.txt: 000099 (HECHO)
  • generar el archivo invertido (usando la misma FST del museo) (HECHO)

Actualización automática periódica del OPAC

Hice un script en Python, update_mitre.py, que se ocupa de las tres tareas: descarga por FTP la base de Catalis, invoca el script update-opac.sh, y sube por FTP los archivos generados.

"""
Updates the OPAC at Museo Mitre, located at
http://www.museomitre.gov.ar/cgi-bin/opacmarc/wxis?IsisScript=opac/xis/opac.xis&db=mitre&showForm=simple
 
FTP code based on http://effbot.org/librarybook/ftplib.htm
"""
 
import ftplib
import os
import subprocess
 
##### BEGIN CONFIG #####
 
# ftp server data
host = 'webh.secyt.gov.ar'
user = '*****'
passwd = '******'
 
admin_dir = '/home/efege/tmp/test-opacmarc-museomitre/opacmarc-2006.11.13/opacmarc-admin'
 
# local working directory
local_work_dir = '%s/work/mitre' % admin_dir
 
# to download the original database
server_source_dir = 'bases/catalis_pack/catalis/mitre'
local_target_dir = '%s/original' % local_work_dir
 
# to upload the generated files
local_source_dir = local_work_dir
server_target_dir = 'bases/opacmarc/opac/mitre'
 
# the shell script that updates the OPAC
update_opac_script = '%s/bin/update-opac.sh' % admin_dir
 
##### END CONFIG #####
 
def getbinary(ftp, filename, outfile=None):
    # fetch a binary file
    if outfile is None:
        outfile = sys.stdout
    ftp.retrbinary("RETR " + filename, outfile.write)
 
def download_catalis_db():
    ftp = ftplib.FTP(host)
    ftp.login(user=user, passwd=passwd)
    ftp.cwd(server_source_dir)
    os.chdir(local_target_dir)
    for filename in ('biblio.mst', 'biblio.xrf'):
        print 'Downloading file %s ...' % filename
        getbinary(ftp, filename, open(filename, 'w'))
 
def upload_file(ftp, filename):
    ext = os.path.splitext(filename)[1]
    if ext in (".txt", ".htm", ".html"):
        ftp.storlines("STOR " + filename, open(filename))
    else:
        ftp.storbinary("STOR " + filename, open(filename, "rb"), 1024)
 
 
def upload_opac_files():
    ftp = ftplib.FTP(host)
    ftp.login(user=user, passwd=passwd)
    ftp.cwd(server_target_dir)
    os.chdir(local_source_dir)
    for filename in os.listdir('.'):
        if os.path.isfile(filename):
            print 'Uploading file %s ...' % filename
            upload_file(ftp, filename)
 
    ftp.quit()
 
 
def update_opac():
    subprocess.call([update_opac_script, 'mitre'])
 
 
if __name__ == '__main__':
    download_catalis_db()
    update_opac()
    upload_opac_files()

El script funciona correctamente cuando lo ejecuto manualmente. Al ejecutarlo desde cron, apareció un problema causado por la función cecho que se define en update-opac.sh. Como esa función no es esencial, la suprimí. Aun así, la tarea no se está ejecutando bien.

28-dic-2009: no recuerdo bien qué toqué, pero ahora funciona la actualización automática vía cron. Queda programada para ejecutarse de lunes a sábado a las 5 AM.

catalis opacmarc

museos/museo_mitre.txt · Última modificación: por 127.0.0.1