~dave-aitken/+junk/kitchensync

« back to all changes in this revision

Viewing changes to monitor/inotifycore.py

  • Committer: Dave Aitken
  • Date: 2009-05-12 00:15:04 UTC
  • Revision ID: dave.aitken@gmail.com-20090512001504-4d3bciqzghosgxbw
Initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from pyinotify import WatchManager, Notifier, ThreadedNotifier, EventsCodes, ProcessEvent
 
2
 
 
3
class INotifyCore(ProcessEvent):
 
4
 
 
5
        def __init__(self, owner):
 
6
                self.owner = owner
 
7
                self.watches = []
 
8
                self.watch_manager = WatchManager()
 
9
                self.mask = EventsCodes.IN_DELETE | EventsCodes.IN_CREATE | EventsCodes.IN_MODIFY
 
10
                self.notifier = ThreadedNotifier(self.watch_manager, self)
 
11
                self.notifier.start()
 
12
 
 
13
        def stop(self):
 
14
                self.notifier.stop()
 
15
        
 
16
        def add_watch(self, dir):
 
17
                self.watches.append(self.watch_manager.add_watch(dir, self.mask, rec=True))
 
18
 
 
19
        def process_IN_CREATE(self, event):
 
20
                self.owner.fs_event(event.path, event.name, "create")
 
21
 
 
22
        def process_IN_DELETE(self, event):
 
23
                self.owner.fs_event(event.path, event.name, "delete")
 
24
 
 
25
        def process_IN_MODIFY(self, event):
 
26
                self.owner.fs_event(event.path, event.name, "modify")