| commit | 43c52f62b0fae38b5e01a5a7c1e14d09b96cb3b7 | [log] [tgz] |
|---|---|---|
| author | Gora Khargosh <gora.khargosh@gmail.com> | Mon Nov 29 03:31:26 2010 +0530 |
| committer | Gora Khargosh <gora.khargosh@gmail.com> | Mon Nov 29 03:31:26 2010 +0530 |
| tree | 64a7c56b7cb0fbdd7f80c700a8fc9e65f42d9451 | |
| parent | b5ee176605b93a82837d5d20ca40b715b96e2270 [diff] |
Remove stray ) from fsevents_observer.py Signed-off-by: Gora Khargosh <gora.khargosh@gmail.com>
Python API and shell utilities to monitor file system events.
A simple program that uses watchdog to monitor directories specified as command-line arguments and logs events generated.
import sys
import time
from watchdog import Observer
from watchdog.events import FileSystemEventHandler
import logging
logging.basicConfig(level=logging.DEBUG)
class MyEventHandler(FileSystemEventHandler):
def catch_all_handler(self, event):
logging.debug(event)
def on_moved(self, event):
self.catch_all_handler(event)
def on_created(self, event):
self.catch_all_handler(event)
def on_deleted(self, event):
self.catch_all_handler(event)
def on_modified(self, event):
self.catch_all_handler(event)
event_handler = MyEventHandler()
observer = Observer()
observer.schedule('a-unique-name', event_handler, sys.argv[1:], recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.unschedule('a-unique-name')
observer.stop()
observer.join()
Watchdog comes with a utility script called watchmedo. Please type watchmedo --help at the shell prompt to know more about this tool.
Here is how you can log the current directory recursively for events related only to *.py and *.txt files while ignoring all directory events:
watchmedo log --patterns="*.py;*.txt" --ignore-directories --recursive .
If you'd like to execute shell commands in response to events you can use the shell-command subcommand like this:
watchmedo shell-command --patterns="*.py;*.txt" --recursive --command='echo "${watch_src_path}"' .
Please see the help information for these commands by typing:
watchmedo [command] --help
Installing from PyPI using pip:
pip install watchdog
Installing from PyPI using easy_install:
easy_install watchdog
Installing from source:
python setup.py install
Watchdog is licensed under the terms of the MIT License
Copyright (C) 2010 Gora Khargosh <gora.khargosh@gmail.com> and the Watchdog authors.
Project source code at Github
Please report bugs at the Github issue tracker.