twisted.internet.inotify.INotify(FileDescriptor, object)
class documentationtwisted.internet.inotify
View Source
(View In Hierarchy)
The INotify file descriptor, it basically does everything related to INotify, from reading to notifying watch points.
Method | __init__ | |
Method | connectionLost | Release the inotify file descriptor and do the necessary cleanup |
Method | fileno | Get the underlying file descriptor from this inotify observer. Required
by abstract.FileDescriptor
subclasses. |
Method | doRead | Read some data from the observed file descriptors |
Method | watch | Watch the 'mask' events in given path. Can raise
INotifyError when there's a problem while adding a
directory. |
Method | ignore | Remove the watch point monitoring the given path |
Instance Variable | _buffer | a bytes
containing the data read from the inotify fd. |
Instance Variable | _watchpoints | a dict
that maps from inotify watch ids to watchpoints objects |
Instance Variable | _watchpaths | a dict
that maps from watched paths to the inotify watch ids |
Method | _addWatch | Private helper that abstracts the use of ctypes. |
Method | _rmWatch | Private helper that abstracts the use of ctypes. |
Method | _doRead | Work on the data just read from the file descriptor. |
Method | _addChildren | This is a very private method, please don't even think about using it. |
Method | _isWatched | Helper function that checks if the path is already monitored and returns its watchdescriptor if so or None otherwise. |
Inherited from _LogOwner (via FileDescriptor):
Method | logPrefix | Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines. |
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Inherited from _LogOwner (via FileDescriptor):
Method | logPrefix | Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines. |
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Inherited from _LogOwner (via FileDescriptor):
Method | logPrefix | Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines. |
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Parameters | reactor | An IReactorFDSet
provider which this descriptor will use to get readable and writeable event
notifications. If no value is given, the global reactor will be used. |
Private helper that abstracts the use of ctypes.
Calls the internal inotify API and checks for any errors after the call.
If there's an error INotify._addWatch
can raise an INotifyError. If there's no error it proceeds creating a
watchpoint and adding a watchpath for inverse lookup of the file descriptor
from the path.
Private helper that abstracts the use of ctypes.
Calls the internal inotify API to remove an fd from inotify then removes the corresponding watchpoint from the internal mapping together with the file descriptor from the watchpath.
Release the inotify file descriptor and do the necessary cleanup
Get the underlying file descriptor from this inotify observer. Required
by abstract.FileDescriptor
subclasses.
This is a very private method, please don't even think about using it.
Note that this is a fricking hack... it's because we cannot be fast enough in adding a watch to a directory and so we basically end up getting here too late if some operations have already been going on in the subdir, we basically need to catchup. This eventually ends up meaning that we generate double events, your app must be resistant.
Watch the 'mask' events in given path. Can raise
INotifyError
when there's a problem while adding a
directory.
Parameters | path | The path needing monitoring (type: FilePath ) |
mask | The events that should be watched (type: int ) | |
autoAdd | if True automatically add newly created subdirectories (type: bool ) | |
callbacks | A list of callbacks that should be called when an event happens in the
given path. The callback should accept 3 arguments: (ignored, filepath,
mask) (type: list
of callables) | |
recursive | Also add all the subdirectories in this path (type: bool ) |