Skip to main content
Help us improve Python packaging – donate today!

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

Release history Release notifications

This version
History Node

0.3.0

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0

History Node

0.1.0

History Node

0.0.2

History Node

0.0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
fs-manager-0.3.0.zip (21.8 kB) Copy SHA256 hash SHA256 Source None Sep 20, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page