diff --git a/examples/filesystem_watch.py b/examples/filesystem_watch.py index 26a36585..98121c5f 100644 --- a/examples/filesystem_watch.py +++ b/examples/filesystem_watch.py @@ -1,4 +1,6 @@ + from __future__ import print_function + import pyuv import signal import sys @@ -7,12 +9,20 @@ 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): @@ -20,10 +30,10 @@ def main(path): 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)) @@ -31,11 +41,8 @@ def main(path): 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) +