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 details)

Uploaded Source

File details

Details for the file filespy-1.1.tar.gz.

File metadata

  • Download URL: filespy-1.1.tar.gz
  • Upload date:
  • Size: 2.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for filespy-1.1.tar.gz
Algorithm Hash digest
SHA256 7521bebb47d721dc2b5d146f639855d83c47fa270f1b30ebf1e1ae15d5365bca
MD5 85afadbea0aa438bc7a29fc4d132b46c
BLAKE2b-256 9e00de010eacfaa3336a4645c5345085783f00e2c828af50b86dcdf8a2d74fda

See more details on using hashes here.

Supported by

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