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.
Es ist einfach zu bedienen.
#!/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.
Das ist ungefähr das gleiche.
#!/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
① 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.
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
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