Skip to main content

This module is designed to relief and simplify interaction of your python modules with the file system.

Project description

language license coverage

Description

This module is designed to relief and simplify interaction of your python modules with the file system.

Installation

python setup.py install

or

pip install -e .

or

pip install fs-manager

How to use

For example, you can inherit your class from FSManager class

from fs_manager import FSManager

class Foo(FSManager, ...):
  FSManager.__init__(self, base_path="/some/base", mode=0o744, temporary=True)
    ...

Or you can just use it as an object

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=True) as fsm:
  fsm.mkdir(alias="tom", path="tom_dir", mode=0o744, temporary=True)
  fsm.cd("tom")
  fsm.mkdir("tom_dir")
  fsm.mkfile("jerry", "jerry_file", 0o644, True)
  fsm.ls()
  fsm.up()
  fsm.ls()
  fsm.rm("tom")

Save what you did

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=True) as fsm:
  fsm.mkdir(alias="tom", path="tom_dir", mode=0o744, temporary=True)
  fsm.cd("tom")
  fsm.mkdir("tom_dir")
  fsm.mkfile("jerry", "jerry_file", 0o644, True)
  fsm.ls()
  fsm.save_all()

...
shutil.copy("/tmp/base/.fs-structure-full.json", "/tmp/another_base/.fs-structure-full.json")
...

with FSManager(base_path="/tmp/another_base", mode=0o744, temporary=True) as fsm:
  fsm.load_all()

Structure will be saved at root to “.fs-structure-full.json”. But structure saves automatically when temporary=False. So if you initialize from the same directory, structure loads anyway.

Initialize you fs-manager from the directory on your disk

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=False) as fsm:
  fsm.snappy(root_binded=True)
  fsm.cd("some/path")

Thus, if root_binded=True your structure will be initialized from one root. In other words, you’ll be able to cd right from the root fs-manager object.

Also you can verify hashsum of files under any prefix like that

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=False) as fsm:
  fsm.snappy(root_binded=True)
  fsm.cd("some/path")
  fsm.save_hashsums("sha1")
  ...
  mismatches = fsm.check_hashsums(type="sha1", log_warnings=False)

There is much more inside :)

Project details


Download files

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

Files for fs-manager, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size fs-manager-0.3.0.zip (21.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page