summaryrefslogtreecommitdiff
path: root/fuse-httpfs
diff options
context:
space:
mode:
Diffstat (limited to 'fuse-httpfs')
-rwxr-xr-xfuse-httpfs38
1 files changed, 38 insertions, 0 deletions
diff --git a/fuse-httpfs b/fuse-httpfs
new file mode 100755
index 0000000..d955ec3
--- /dev/null
+++ b/fuse-httpfs
@@ -0,0 +1,38 @@
+#!/usr/bin/env python3
+from httpfs import *
+
+if __name__ == '__main__':
+ import logging
+ FORMAT = "%(threadName)s %(asctime)-15s %(levelname)s:%(name)s %(message)s"
+ logging.basicConfig(level=logging.INFO, format=FORMAT)
+
+ import argparse
+ p = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+ p.add_argument("mountpoint", nargs=1, help="Target directory")
+ p.add_argument("--max_background", type=int, default=15,
+ help="Maximum number of background threads")
+ p.add_argument("--no_foreground", action="store_true", default=False,
+ help="Fork into background as a daemon")
+ p.add_argument("--debug", action="store_true", help="Enable fuse debug")
+ p.add_argument("--nothreads", action="store_true",
+ help="Disable fuse threads")
+ p.add_argument("--connect_timeout", type=int,
+ default=Config.timeout[0], help="HTTP connect timeout")
+ p.add_argument("--read_timeout", type=int,
+ default=Config.timeout[1], help="HTTP read timeout")
+ p.add_argument("--no-verify", action="store_true", help="Disable ssl verify")
+
+ args = vars(p.parse_args(sys.argv[1:]))
+
+ Config.timeout = (args.pop("connect_timeout"), args.pop("read_timeout"))
+ Config.mountpoint = args.pop("mountpoint")[0]
+ Config.verify = not args.pop("no_verify")
+ kwargs = {}
+ if not args.pop("no_foreground"):
+ kwargs["foreground"] = True
+ if args.pop("debug"):
+ kwargs["debug"] = True
+ kwargs.update(args)
+
+ fuse = fuse.FUSE(Httpfs(), Config.mountpoint, **kwargs)