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 :)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file fs-manager-0.3.0.zip.
File metadata
- Download URL: fs-manager-0.3.0.zip
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95220c3ddf1a1769513830d58b907681cf7bdb8509b9355a2edf19679088e937
|
|
| MD5 |
bbb43ee7fc8e815152680ac4dc068906
|
|
| BLAKE2b-256 |
9e79e94e3975b539a244708dc8d73d3dd2a60046bc79f14681591e33f10e20d6
|