Benachrichtigungstool für kontinuierliche Aktualisierungsprüfung von Remote-Dateien (nach URI)

Nutzungsszenario

Jemand lädt regelmäßig neue PDFs auf seine Webseite hoch und aktualisiert die alten. Ich kopiere sie zwar auf meine Festplatte, werde aber leider nicht über Aktualisierungen der Dateien informiert.

Anforderungen

  1. Kann eine Tabelle speichern, die Pfade zu lokalen Dateien URIs zuordnet, von denen sie heruntergeladen wurden.
    Das Mapping soll natürlich manuell eingetragen werden.

  2. Überprüft regelmäßig, ob die lokalen Dateien immer noch genau gleich sind (z. B. durch Hashing) mit ihren Online-Pendants und benachrichtigt mich über alle geänderten Dateien.
    Die Art der Benachrichtigung kann beliebig sein, zB im Infobereich der Taskleiste oder über ein eigenständiges Fenster.

  3. Kann sowohl die lokale als auch die entfernte Datei an ein Diff-Programm delegieren, das ich in den Einstellungen angeben kann.
    Der Update-Checker würde wahrscheinlich die Remote-Datei an einen temporären Speicherort herunterladen und das Diff-Programm mit aufrufen[path to local file] [path to temporarily saved remote file]

Preis: Free & Open Source wird bevorzugt, aber ich würde trotzdem bis zu 10€ zahlen.

Ich verwende changetection.com/ , um Änderungen an Webseiten zu erkennen. Ich weiß nicht, ob es für PDF funktionieren würde - aber warum nicht? Es ruft nur den Inhalt einer URL ab, vergleicht sie mit der vorherigen und sendet Ihnen eine E-Mail, wenn sich etwas geändert hat. Probieren Sie es aus und lassen Sie es uns bitte wissen. Mich würde interessieren, ob es bei deinem Schweinswal funktioniert.
@Mawg Gute Idee! Ich habe es gerade ausprobiert, aber leider warnt die Website Diese Adresse (...) verweist auf einen Inhaltstyp (application/pdf), der von ChangeDetection nicht unterstützt wird .
Seufzen! Na ja, zumindest haben Sie von einem Dienst erfahren, der für andere Possrpoises nützlich sein könnte. Viel Glück beim Finden einer Lösung. Können Sie den Eigentümer der Dateien nicht bitten, eine Mailingliste einzurichten, um über neue Veröffentlichungen zu informieren? Sogar eine einfache HTML-Seite mit Links zu den PDFs und einer Versionsnummer oder einem Veröffentlichungsdatum könnte mit ChangeDetection verwendet werden

Antworten (1)

Ein kleines Python- Skripting kann leicht regelmäßig ausgeführt werden, um:

  1. Lesen Sie die Mapping-Datei, möglicherweise als INI- oder CSV -Datei (Standardbibliotheken für beide), wenn Benutzername und/oder Passwörter für einige Dateien erforderlich sind, könnten diese auch in der Mapping-Datei enthalten sein.
  2. Holen Sie die entfernte(n) Datei(en), möglicherweise unter Verwendung der Anforderungsbibliothek von der URI, in ein temporäres Verzeichnis
  3. Berechnen Sie die jeweiligen Hashes , zB MD5 oder SHA-1 und
  4. Benachrichtigung über geänderte Dateien mit einer Option zu
    1. Überschreiben Sie die lokale Datei
    2. Führen Sie Ihr Diff-Programm aus

Das Abrufen der Zuordnung vor dem Herunterladen, wodurch Zeit und Bandbreite gespart wird , ist jedoch nur möglich, wenn sowohl der Remote-Server als auch das Protokoll einen Mechanismus zum Abrufen des Hashs der Remote-Datei bereitstellen - viele tun dies nicht.

Der Unterschied zwischen einigen Dateitypen, z. B. PDF-Dateien, kann ein Problem darstellen. Ich würde vorschlagen, der Zuordnungsdatei für jede Datei eine weitere Option hinzuzufügen, um entweder das Diff-Programm für diese Datei anzugeben oder anzugeben, dass sie immer überschrieben wird.

  • frei
  • Open Source
  • plattformübergreifend