[PYTHON] Création d'un module pour surveiller les mises à jour des fichiers et des URL

Mises à jour des fichiers et URL mdfmonitor-Monitor

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.

Comment utiliser

C'est simple à utiliser.

  1. ʻimport` le module
  2. Créez une instance de FileModificationMonitor
  3. Enregistrez le fichier
  4. La méthode monitor démarre la surveillance et renvoie un objet, utilisez donc l'instruction for pour dessiner le processus.
#!/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.

Comment utiliser

C'est à peu près la même chose.

  1. ʻimport` le module
  2. Créez une instance de ʻURLModificationMonitor`
  3. Enregistrez l'URL
  4. La méthode monitor démarre la surveillance et renvoie un objet, utilisez donc l'instruction for pour dessiner le processus.
#!/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

Les atouts de mdfmonitor

① 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.

Comment installer

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

LICENSE

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

Création d'un module pour surveiller les mises à jour des fichiers et des URL
Sortie d'un vidage binaire en binaire et retour dans un fichier binaire
Télécharger un fichier sur Dropbox
Lire et écrire des fichiers
Écrire et lire des fichiers
Pour ajouter un module C à MicroPython ...
Traitez le résultat de l'exécution de Splunk en utilisant Python et enregistrez-le dans un fichier
Écrire la sortie standard dans un fichier
Création d'une classe pour télécharger et analyser XBRL à partir d'UFO Catcher
Création d'un bot Discord pour vous informer des mises à jour pour devenir romancier
Comment créer un fichier de configuration
[Python scraping] Affiche l'URL et le titre du site contenant un mot-clé spécifique dans un fichier texte
[Python] Comment lire le fichier csv (méthode read_csv du module pandas)
Script pour créer un fichier de dictionnaire Mac
[Introduction à Pandas] Lire un fichier csv sans nom de colonne et lui donner un nom de colonne
Essayez d'obtenir une page Web et un fichier JSON en utilisant la bibliothèque Requests de Python
Je veux déposer un fichier sur tkinter et obtenir son chemin [Tkinter DnD2]
Je veux créer un lecteur de musique et enregistrer de la musique en même temps
Je veux écrire un élément dans un fichier avec numpy et le vérifier.
Utilisez la commande [shell] pour compresser par zip n'importe quel fichier pour créer un fichier et supprimer le fichier d'origine.
[Python] Combiner des listes contenant des nombres en chaînes et les écrire dans un fichier de sortie
Enregistrez le tableau numpy dans un fichier wav à l'aide du module wave
Comment lire les fichiers de numéros de série en boucle, les traiter et les représenter graphiquement
Comment lire un fichier CSV avec Python 2/3
Comment déguiser un fichier ZIP en fichier PNG
Créer un fichier exécutable GUI créé avec tkinter
Comment créer un fichier JSON en Python
Un mémo créé dans un package et enregistré dans PyPI
Créez un chat bot et entraînez-vous à être populaire.
Comment ajouter un chemin de recherche de module Python
Pour ajouter un module à python que vous mettez dans Julialang
Ajouter une requête à l'URL analysée par URL et revenir à l'URL d'origine
Enregistrer l'objet dans un fichier avec pickle
Exporter la version Python3 OpenCV KeyPoint dans un fichier
Charger les packages créés localement avec le module Go
Je veux écrire dans un fichier avec Python
Comment désinstaller un module installé à l'aide de setup.py
Comment lire des fichiers dans différents répertoires
Création d'une bibliothèque Python pour écrire des inclusions complexes et les réduire de manière facile à lire
Que faire si pvcreate produit beaucoup d'AVERTISSEMENT et ne peut pas être créé
[Python] Vous pouvez enregistrer un objet dans un fichier en utilisant le module pickle.
[Django] Test pour envoyer un fichier par POST et vérifier le contexte retourné [TDD]
Création d'un outil pour générer un diagramme de séquence à partir d'un fichier de capture de paquets de plusieurs nœuds
Un lycéen a créé un service de conversion linguistique en temps réel et l'a poussé vers Github.