Skip to content

Commit

Permalink
Fixup file watch example
Browse files Browse the repository at this point in the history
  • Loading branch information
saghul committed May 13, 2014
1 parent d1df641 commit 2ba8b5a
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions examples/filesystem_watch.py
@@ -1,4 +1,6 @@

from __future__ import print_function

import pyuv
import signal
import sys
Expand All @@ -7,35 +9,40 @@


def fsevent_callback(fsevent_handle, filename, events, error):
print('file: %s' % filename, ', events: ', events)
if error is not None:
txt = 'error %s: %s' % (error, pyuv.errno.strerror(error))
else:
evts = []
if events & pyuv.fs.UV_RENAME:
evts.append('rename')
if events & pyuv.fs.UV_CHANGE:
evts.append('change')
txt = 'events: %s' % ', '.join(evts)
print('file: %s, %s' % (filename, txt))


def sig_cb(handle, signum):
handle.close()
print('\nType ctrl-c again to exit')


def main(path):
loop = pyuv.Loop.default_loop()
try:
fsevents = pyuv.fs.FSEvent(loop)
fsevents.start(path, 0, fsevent_callback)
except pyuv.error.FSEventError as err:
print('error', err)
fsevents.ref = False
except pyuv.error.FSEventError as e:
print('error: %s' % e)
sys.exit(2)

signal_h = pyuv.Signal(loop)
signal_h.start(sig_cb, signal.SIGINT)
print('Watching path %s' % os.path.abspath(path))
loop.run()


if __name__ == '__main__':

parser = optparse.OptionParser()
parser.add_option('-p', '--path', help='a path to watch')
(opts, args) = parser.parse_args()
if opts.path is None:
parser.print_help()
sys.exit(2)
parser.add_option('-p', '--path', help='a path to watch', default='.')
opts, args = parser.parse_args()
main(opts.path)

0 comments on commit 2ba8b5a

Please sign in to comment.