[PYTHON] Erstellt ein Modul zur Überwachung von Datei- und URL-Aktualisierungen

mdfmonitor-Monitor Datei- und URL-Updates

https://github.com/alice1017/mdfmonitor

** mdfmonitor ** ist ein Python-Modul, das Dateizeitstempel und URL-Datenheader verwendet, um Datei- und URL-Aktualisierungen zu überwachen.

mdfmonitor contains:

FileModificationMonitor

FileModificationMonitor (im Folgenden als "Monitor" bezeichnet) überwacht ** Dateien ** auf Aktualisierungen.

Monitor verfügt über ein Repository mit ** Zeitstempeldaten ** der Datei und ** Daten des Inhalts der Datei **. Fügen Sie zunächst die ursprünglichen Zeitstempeldaten und die Daten des Inhalts der Datei ein. Holen Sie sich als Nächstes die neuen Zeitstempeldaten und die Inhaltsdaten der Datei, ** vergleichen ** Sie diese alten und neuen Daten. Wenn sie unterschiedlich sind, betrachten Sie sie als ** Aktualisierung ** und machen Sie sie zu einer Objektausbeute Machen.

Wie benutzt man

Es ist einfach zu bedienen.

  1. Importieren Sie das Modul
  2. Erstellen Sie eine Instanz von "FileModificationMonitor"
  3. Registrieren Sie die Datei
  4. Die Überwachungsmethode startet die Überwachung und gibt ein Objekt zurück. Verwenden Sie daher die for-Anweisung, um den Prozess zu zeichnen.
#!/usr/bin/python

import os
from mdfmonitor import FileModificationMonitor

files = os.listdir(".") # >>> ['sample.txt', 'sample.py']

# create Watcher instnce
monitor = FileModificationMonitor()

# append file to mdfmonitor instance
monitor.add_file("sample.txt")

# or 
# append files to mdfmonitor instance
monitor.add_files(os.listdir("."))

for mdf in monitor.monitor():
    
    print mdf.file.center(30, "=")
    print "Catch the Modification!!"
    print "Old timestamp: %s" % mdf.old_mtime
    print "New timestamp: %s" % mdf.new_mtime
    print "manager: %s" % str(mdf.manager.o_repository)
    print "Diff".center(30,"=")
    print mdf.diff

URLModificationMonitor

URLModificationMonitor (auch "Monitor" genannt) kann Aktualisierungen von URL-Inhalten überwachen.

Die Struktur von Monitor entspricht fast der von "FileModificationMonitor". Der Unterschied besteht nicht in den Zeitstempeldaten, sondern im ** Datums ** -Header, der mit dem Antwort-Header der URL zum Auffinden von Aktualisierungen geliefert wird.

Wie benutzt man

Das ist ungefähr das gleiche.

  1. Importieren Sie das Modul
  2. Erstellen Sie eine Instanz von "URLModificationMonitor"
  3. Registrieren Sie die URL
  4. Die Überwachungsmethode startet die Überwachung und gibt ein Objekt zurück. Verwenden Sie daher die for-Anweisung, um den Prozess zu zeichnen.
#!/usr/bin/python

import os
from mdfmonitor import URLModificationMonitor

files = os.listdir(".") # >>> ['sample.txt', 'sample.py']

# create Watcher instnce
monitor = URLModificationMonitor()

# append file to mdfmonitor instance
monitor.add_url("http://sampe.com/path/")

for mdf in monitor.monitor():
    
    print mdf.url.center(30, "=")
    print "Catch the Modification!!"
    print "Old timestamp: %s" % mdf.old_dtime
    print "New timestamp: %s" % mdf.new_dtime
    print "manager: %s" % str(mdf.manager.o_repository)
    print "Diff".center(30,"=")
    print mdf.diff

Stärken von mdfmonitor

① Unterschied Sowohl ** FileModificationMonitor ** als auch ** URLModificationMonitor ** ergeben ein Objekt mit dem Namen ** ModificationObject **, aber dieses Objekt verfügt über neue Body-Daten und alte Daten. Basierend darauf heißt es ** diff **. Erzeugt eine Diff-Zeichenfolge. (Ich benutze Pythons difflib Modul)

ModificationObjectManager Die Geschichte ist ein wesentlicher Bestandteil von Updates, nicht wahr? ** ModificationObjectManager ** ist eine Klasse, die ihren Verlauf speichert. Ein Aktualisierungsobjekt wird in ein Array mit dem Namen o_repository of Manager eingefügt, und dieses Array wird so wie es ist zum Aktualisierungsverlauf.

Wie installiert man

Da es sich um ein Python-Modul handelt, können Sie "pip" und "easy_install" verwenden.

``shell $ sudo easy_install mdfmonitor


Oder`git`Benutzen Sie bitte

```shell
$ git clone https://github.com/alice1017/mdfmonitor.git
$ cd mdfmonitor
$ sudo pyton setup.py build install

LICENSE

MIT-Lizenz

##damit

Deshalb war es eine Einführung in mdfmonitor. Als ich auf PYPI danach gesucht habe, gab es nicht viele solche Module, also habe ich es wieder gemacht. Das schreckliche Englisch von README und docstring ist beabsichtigt.

Wenn Sie sagen "es ist besser, so zu entwerfen" oder "es gibt einen Fehler", ziehen Sie bitte Github oder kommentieren Sie es.

##Was können Sie mit mdfmonitor tun?

Da mdfmonitor ein Skript ist, das Dateiaktualisierungen überwacht, gitFür diejenigen, die die Version mit verwaltenaddUnd automatischcommitKann implementiert werden.

Recommended Posts

Erstellt ein Modul zur Überwachung von Datei- und URL-Aktualisierungen
Geben Sie einen Binärspeicherauszug in Binärdatei und zurück in eine Binärdatei aus
Laden Sie eine Datei in Dropbox hoch
Dateien lesen und schreiben
Dateien schreiben und lesen
So fügen Sie MicroPython ein C-Modul hinzu ...
Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei
Schreiben Sie die Standardausgabe in eine Datei
Erstellt eine Klasse zum Herunterladen und Analysieren von XBRL von UFO Catcher
Erstellt einen Discord-Bot, um Sie über Aktualisierungen zu informieren und Romanautor zu werden
So erstellen Sie eine Konfigurationsdatei
[Python-Scraping] Geben Sie die URL und den Titel der Site mit einem bestimmten Schlüsselwort in eine Textdatei ein
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
Skript zum Erstellen einer Mac-Wörterbuchdatei
[Einführung in Pandas] Lesen Sie eine CSV-Datei ohne Spaltennamen und geben Sie ihr einen Spaltennamen
Versuchen Sie, mithilfe der Python-Anforderungsbibliothek eine Webseite und eine JSON-Datei abzurufen
Ich möchte eine Datei auf tkinter ablegen und ihren Pfad abrufen [Tkinter DnD2]
Ich möchte gleichzeitig einen Musik-Player erstellen und Musik ablegen
Ich möchte ein Element mit numpy in eine Datei schreiben und es überprüfen.
Verwenden Sie den Befehl [shell], um eine beliebige Datei zu komprimieren, um eine Datei zu erstellen und die Originaldatei zu löschen.
[Python] Kombinieren von Listen mit Zahlen zu Zeichenfolgen und Schreiben in eine Ausgabedatei
Speichern Sie das numpy-Array mithilfe des Wave-Moduls in einer WAV-Datei
So lesen Sie Seriennummerndateien in einer Schleife, verarbeiten sie und zeichnen sie grafisch auf
Lesen einer CSV-Datei mit Python 2/3
So tarnen Sie eine ZIP-Datei als PNG-Datei
Erstellen Sie eine mit tkinter erstellte ausführbare GUI-Datei
So erstellen Sie eine JSON-Datei in Python
Ein Memo, das in einem Paket erstellt und in PyPI registriert wurde
Machen Sie einen Chat-Bot und üben Sie, beliebt zu sein.
So fügen Sie einen Suchpfad für Python-Module hinzu
So fügen Sie Python ein Modul hinzu, das Sie in Julialang eingefügt haben
Fügen Sie eine Abfrage zur analysierten URL hinzu und kehren Sie zur ursprünglichen URL zurück
Speichern Sie das Objekt in einer Datei mit pickle
Exportieren Sie PythonC Version OpenCV KeyPoint in eine Datei
Laden Sie lokal erstellte Pakete mit Go Module
Ich möchte mit Python in eine Datei schreiben
So deinstallieren Sie ein mit setup.py installiertes Modul
So lesen Sie Dateien in verschiedenen Verzeichnissen
Erstellt eine Python-Bibliothek, um komplexe Einschlüsse zu schreiben und auf einfach zu lesende Weise zu reduzieren
Was tun, wenn pvcreate viel WARNUNG erzeugt und nicht erstellt werden kann?
[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.
[Django] Test zum Senden einer Datei per POST und Überprüfen des zurückgegebenen Kontexts [TDD]
Erstellt ein Tool zum Ausgeben eines Sequenzdiagramms aus einer Paketerfassungsdatei mit mehreren Knoten
Ein Schüler erstellte einen Echtzeit-Sprachkonvertierungsdienst und schickte ihn an Github.