https://github.com/alice1017/mdfmonitor
** mdfmonitor ** est un module Python qui utilise les horodatages de fichiers et les en-têtes de données URL pour surveiller les mises à jour des fichiers et des URL.
mdfmonitor contains:
FileModificationMonitor
FileModificationMonitor (ci-après dénommé «moniteur») surveille ** les fichiers ** pour les mises à jour.
Monitor dispose d'un référentiel avec ** les données d'horodatage ** du fichier et ** les données du contenu du fichier **. Tout d'abord, insérez les données d'horodatage d'origine et les données du contenu du fichier. Ensuite, récupérez les nouvelles données d'horodatage et les données de contenu du fichier, ** comparez ** ces anciennes données et les nouvelles données, et si elles sont différentes, considérez-les comme ** mise à jour ** et faites-en un rendement d'objet Faire.
C'est simple à utiliser.
FileModificationMonitor
#!/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 (également appelé «moniteur») peut surveiller les mises à jour du contenu URL.
La structure de Monitor est presque la même que celle de FileModificationMonitor
.
La différence n'est pas les données d'horodatage, mais l'en-tête ** Date ** qui accompagne l'en-tête Response
de l'URL pour rechercher les mises à jour.
C'est à peu près la même chose.
#!/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
① Différence
** FileModificationMonitor ** et ** URLModificationMonitor ** génèrent un objet appelé ** ModificationObject **, mais cet objet a de nouvelles données Body et d'anciennes données, et sur cette base, il s'appelle ** diff **. Génère une chaîne de diff. (J'utilise le module difflib
de Python)
② ModificationObjectManager L'histoire fait partie intégrante des mises à jour, n'est-ce pas? ** ModificationObjectManager ** est une classe qui enregistre son historique. Un objet de mise à jour est inséré dans un tableau appelé o_repository de Manager, et ce tableau devient l'historique de mise à jour tel quel.
Puisqu'il s'agit d'un module Python, vous pouvez utiliser pip
et ʻeasy_install`.
``shell $ sudo easy_install mdfmonitor
Ou`git`Veuillez utiliser
```shell
$ git clone https://github.com/alice1017/mdfmonitor.git
$ cd mdfmonitor
$ sudo pyton setup.py build install
Licence MIT
##alors
C'est pourquoi c'était une introduction à mdfmonitor. Quand je l'ai cherché sur PYPI, il n'y avait pas beaucoup de modules comme celui-ci, alors je l'ai fait à nouveau. Le terrible anglais de README et docstring est par conception.
Si vous dites "il vaut mieux concevoir comme ça" ou "il y a un bug", veuillez tirer ou commenter sur github.
##Ce que vous pouvez faire avec mdfmonitor
Étant donné que mdfmonitor est un script qui surveille les mises à jour des fichiers, gitPour ceux qui gèrent la version avecaddEt automatiquecommitPeut être mis en œuvre.
Recommended Posts