twisted.internet.inotify
module documentationtwisted.internet
View Source
This module provides support for Twisted to linux inotify API.
In order to use this support, simply do the following (and start a reactor at some point):
from twisted.internet import inotify from twisted.python import filepath def notify(ignored, filepath, mask): """ For historical reasons, an opaque handle is passed as first parameter. This object should never be used. @param filepath: FilePath on which the event happened. @param mask: inotify event as hexadecimal masks """ print("event %s on %s" % ( ', '.join(inotify.humanReadableMask(mask)), filepath)) notifier = inotify.INotify() notifier.startReading() notifier.watch(filepath.FilePath("/some/directory"), callbacks=[notify]) notifier.watch(filepath.FilePath(b"/some/directory2"), callbacks=[notify])
Note that in the above example, a FilePath
which is a bytes
path name or str
path name may be used. However, no matter what type of FilePath
is
passed to this module, internally the FilePath
is
converted to bytes
according to sys.getfilesystemencoding
.
For any FilePath
returned by this module, the caller is responsible for converting from a bytes
path name to a str
path name.
Present Since | 10.1 |
Function | humanReadableMask | Auxiliary function that converts a hexadecimal mask into a series of human readable flags. |
Class | INotify | The INotify file descriptor, it basically does everything related to INotify, from reading to notifying watch points. |
Class | _Watch | Watch object that represents a Watch point in the filesystem. The user should let INotify to create these objects |
Auxiliary function that converts a hexadecimal mask into a series of human readable flags.