Metadata-Version: 1.1
Name: fs-manager
Version: 0.3.0
Summary: This module is designed to relief and simplify interaction of your python modules with the file system.
Home-page: https://github.com/FromZeus/fs-manager
Author: 
Daniil Trishkin
Author-email: 
asteroid566@gmail.com
License: UNKNOWN
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 :)
        
        .. |language| image:: https://img.shields.io/badge/language-python-blue.svg
        .. |license| image:: https://img.shields.io/badge/license-Apache%202-blue.svg
        .. |coverage| image:: https://img.shields.io/codecov/c/github/codecov/example-python.svg?maxAge=2592000
        
        
Platform: UNKNOWN
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
