libfuse / python-fuse

Python 2.x/3.x bindings for libfuse 2.x
GNU Lesser General Public License v2.1
279 stars 73 forks source link

Migrate FuseArgs away from using Optparse #24

Open lonetwin opened 4 years ago

lonetwin commented 4 years ago

The current implementation of FuseArgs extends Optparse, which is scheduled to be deprecated in favor of argparse. Although there isn't a schedule for when it would be deprecated, it might be a good idea to reimplement this using argparse.

Furthermore, imho, the current implementation is a bit unwieldy and inflexible. For instance, I have spent way too longer than I expected and yet have not been able to figure out how to implement the command line to support something like:

my_fuse_cmd.py <required parameter> <required path parameter> <mountpoint> [fuse options]

If there is interest in migrating away from optparse, and nobody is already working on it, I would like to attempt doing this.

If it is felt that this isn't a worthwhile effort for any reason, could someone guide me on how to create a Fuse instance such that the command-line above is supported (using FuseArgs, that is -- I obviously could split up the parsing of args I am interested in and those that get passed to the parent Fuse class ...but that would be ugly).

sdelafond commented 3 years ago

@lonetwin this would totally be worthwhile, and I'd gladly accept a PR for it.

lonetwin commented 3 years ago

@sdelafond I'm happy to start working on this. However, I was wondering whether this project intents to retain python 2.x support (afaict, 2.7 is still being supported according to the package classifiers in setup.py)

sdelafond commented 3 years ago

Yes, I'd like to retain 2.x compatibility.