Herramienta de notificación para la verificación continua de actualizaciones de archivos remotos (por URI)

Escenario de uso

Alguien sube periódicamente nuevos archivos PDF a su página web y actualiza los antiguos. Los copio en mi disco duro, sin embargo, lamentablemente no recibo notificaciones de ninguna actualización de los archivos.

Requisitos

  1. Puede guardar una tabla que asigna rutas a archivos locales a URI, desde donde se descargaron.
    Se supone que el mapeo debe ingresarse manualmente, por supuesto.

  2. Comprueba periódicamente si los archivos locales siguen siendo estrictamente iguales (p. ej., mediante hash) a sus homólogos en línea y me notifica sobre cualquier cambio en los archivos.
    El tipo de notificación puede ser arbitrario, por ejemplo, en el área de notificación de la barra de tareas oa través de una ventana independiente.

  3. Es capaz de delegar tanto el archivo local como el remoto a un programa diff, que puedo indicar en la configuración.
    El verificador de actualizaciones probablemente descargaría el archivo remoto a una ubicación temporal y llamaría al programa diff con[path to local file] [path to temporarily saved remote file]

Precio: Gratis y de código abierto es preferible, pero pagaría hasta 10 € de todos modos.

Uso changedetection.com/ para detectar cambios en la página web. No sé si funcionaría para PDF, pero ¿por qué no? Simplemente obtiene el contenido de una URL, lo compara con el anterior y le envía un correo electrónico si hay algún cambio. Pruébelo y háganoslo saber, por favor. Me interesaría saber si funciona para su marsopa.
@Mawg ¡Buena idea! Lo acabo de probar, pero lamentablemente, el sitio web alerta Esta dirección (...) se refiere a un tipo de contenido (aplicación/pdf) que no es compatible con ChangeDetection .
¡Suspiro! Bueno, al menos te enteraste de un servicio que podría ser útil para otras posrpoises. Buena suerte encontrando una solución. ¿No puede pedirle al propietario de los archivos que inicie una lista de correo para notificar sobre nuevos lanzamientos? Incluso una página HTML simple con enlaces a los archivos PDF y un número de versión o fecha de publicación podría usarse con ChangeDetection

Respuestas (1)

Se puede ejecutar periódicamente un poco de secuencias de comandos de Python para:

  1. Lea el archivo de mapeo, posiblemente como un archivo ini o csv (bibliotecas estándar para ambos), si se requieren nombres de usuario y/o contraseñas para algunos archivos, estos también podrían estar en el archivo de mapeo.
  2. Obtenga los archivos remotos, posiblemente usando la biblioteca de solicitudes del URI, en un directorio temporal
  3. Calcule los valores hash respectivos , por ejemplo, MD5 o SHA-1 y
  4. Notificarle sobre archivos modificados con una opción para
    1. Sobrescribir el archivo local
    2. Ejecute su programa diff

Sin embargo, obtener la asignación antes de la descarga, ahorrando tiempo y ancho de banda , solo será posible si el servidor remoto y el protocolo proporcionan un mecanismo para recuperar el hash del archivo remoto; muchos no lo hacen.

Diferenciar algunos tipos de archivos, como los archivos pdf, puede ser un problema. Sugeriría agregar otra opción para cada archivo al archivo de mapeo para especificar el programa diff para ese archivo o para especificar que siempre se sobrescribe.

  • libre
  • fuente abierta
  • plataforma cruzada