Skip to main content

find changes in a directory

Project description

https://travis-ci.org/localvoid/py-filespy.png?branch=master

FileSpy is a simple library that helps you detect filesystem changes.

API

CHANGE_TYPE

CREATED = 0

DELETED = 1

MODIFIED = 2

make_snapshot

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

snapshot_diff(s1, s2) -> tuple(CHANGE_TYPE, path)

Generator that yields changes between two snapshots.

Example

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.

Project details


Release history Release notifications | RSS feed

This version

1.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filespy-1.1.tar.gz (2.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page