https://img.shields.io/pypi/v/extfslib.svg

Midnight Commander extfslib helper library for writing extfs archive plugins.

Description

Extfslib help with building Midnight Commander extfs plugins, especially for those which operates on different kind of archives.

Simplest plugin built on top of this lib would be:

import extfslib


class MyArchive(extfslib.Archive):

    ARCHIVER = "fancyarch"

    def list(self):
        if not self._contents:
            return 1

        for item in self._contents:
            sys.stdout.buffer.write(self.ITEM % item)


arch = MyArchive('/path/to/file.fancyarch')
arch.list()

In this example class instance should be able to be called with list method. All methods:

  • list

  • copyin

  • copyout

  • rm

  • mkdir

  • rmdir

  • run

should be implemented if needed, since by default all of them are just defined, but not implemented.

Of course, real life example can be a little bit more complicated, since there would be possible need for adapting LINE_PAT which is regular expression for getting attributes for the list compatible with MC along with the ITEM which holds the output pattern and utilizes dictionary from LINE_PAT, CMD which maps between class and archiver commands. Possibly there might be needed some other adjustments.

Installation

Install from Pypi

# pip install extfslib

or, as a user:

$ pip install extfslib --user

or use virtualenv:

$ git clone https://github.com/gryf/mc_extfslib
$ cd mc_extfslib
$ virtualenv venv
$ source venv/bin/activate
(venv) $ pip install

License

This software is licensed under 3-clause BSD license. See LICENSE file for details.

Description
Midnight Commander extfs for several filetypes using Python
Readme 75 KiB
Languages
Python 100%