find changes in a directory
FileSpy is a simple library that helps you detect filesystem changes.
CREATED = 0
DELETED = 1
MODIFIED = 2
make_snapshot(path, followlinks=False) -> dict()
path - directory path
followlinks=False - follow links when traversing through directory
Creates a directory snapshot. Snapshot doesn’t hold any information about directory in which this snapshot was done, so you can easily compare directories in a different locations.
It returns a simple dictionary, where keys is a file path and value is os.stat() of this file. It is done in a such way to make serialization of this data as simple as possible.
snapshot_diff(s1, s2) -> tuple(CHANGE_TYPE, path)
Generator that yields changes between two snapshots.
s1 = filespy.make_snapshot('/dir') time.sleep(3) s2 = filespy.make_snapshot('/dir') for t, path in filespy.snapshot_diff(s1, s2): if t == filespy.CREATED: on_create(path) elif t == filespy.DELETED: on_delete(path)
Here we are taking snapshot of the directory /dir, then sleep for 3 seconds, take another snapshot, and finally looking at the changes.