Skip to main content

Simple object-oriented access to a filesystem directory tree

Project description

=========
FS-Hopper
=========

FS-Hopper is a simplistic and very thin abstraction layer for
accessing a filesystem directory tree in an object-oriented style.
The only two known filesystem nodes are directories and trees. Both
are implemented as new-style classes. Each method call to them (e.g.
DirectoryNode.get_childs()) will return instances of either
DirectoryNode or FileNode, allowing easy traversal throughout the
tree.

Additionally, you can define a set_root, similar to (but not really)
GNU/chroot. It is prohibited to create Nodes above set_root making it
easy for you to jail your code into a certain directory within the
filesystem.

=====
Usage
=====

Jail code into /tmp and create a working directory:

#!/usr/bin/env python2

import fs_hopper
fs_hopper.set_root('/tmp')

workdir = fs_hopper.Directory('/tmp/fs_hopper')
workdir.mkdir()
print workdir

Recursively get all configuration files of some_app

#!/usr/bin/env python2

import os
import fs_hopper

name = os.path.expanduser('~/.config/some_app')
confdir = fs_hopper.Directory(name)
confs = confdir.get_subs('*.conf')
print confs

Read /etc/passwd

#!/usr/bin/env python2

import fs_hopper

passwd = fs_hopper.File('/etc/passwd')
print passwd.get_content()

=========
Resources
=========

- Github: https://gihub.com/baccenfutter/fs_hopper/
- PyPi : https://pypi.python.org/pypi/FS-Hopper/

Project details


Download files

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

Source Distribution

FS-Hopper-0.1.1.tar.gz (3.4 kB view details)

Uploaded Source

File details

Details for the file FS-Hopper-0.1.1.tar.gz.

File metadata

  • Download URL: FS-Hopper-0.1.1.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for FS-Hopper-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e79b9cf9f06cdd0162bcd0fd39f00fdbdd5eec0b750b322679f3920d8151d633
MD5 2470c53d5c3248176ce72eb778b42a6c
BLAKE2b-256 6e4fb610e2e70d1215cee6cb4492f91fd5c3b350297795b636e044edd29f4099

See more details on using hashes here.

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