Add nextcloud-dav mount helper script
This commit is contained in:
parent
68cbebfe53
commit
883e69b135
63
home/bin/nextcloud-dav
Executable file
63
home/bin/nextcloud-dav
Executable file
|
@ -0,0 +1,63 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
# nextcloud-dav: mount or unmount my Nextcloud DAV drive.
|
||||||
|
# Usage: nextcloud-dav [mount|umount]
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
####
|
||||||
|
# Config Section
|
||||||
|
####
|
||||||
|
|
||||||
|
# Mount path
|
||||||
|
MOUNT_POINT = "{home}/davfs".format(home=os.environ["HOME"])
|
||||||
|
|
||||||
|
# How to verify the path is already mounted? (Check a file inside)
|
||||||
|
VERIFY_MOUNTED = lambda: os.path.isdir(os.path.join(MOUNT_POINT, "Photos"))
|
||||||
|
|
||||||
|
# Dav URL
|
||||||
|
WEBDAV_URL = "https://cloud.ckir.net/remote.php/webdav/"
|
||||||
|
|
||||||
|
####
|
||||||
|
# End Config Section
|
||||||
|
####
|
||||||
|
|
||||||
|
if not os.path.isdir(MOUNT_POINT):
|
||||||
|
print("Create mount folder: {}".format(MOUNT_POINT))
|
||||||
|
os.mkdir(MOUNT_POINT)
|
||||||
|
|
||||||
|
operation = None
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
operation = sys.argv[1]
|
||||||
|
if operation.startswith("m"):
|
||||||
|
operation = "mount"
|
||||||
|
elif operation.startswith("u"):
|
||||||
|
operation = "umount"
|
||||||
|
else:
|
||||||
|
print("CLI argument must be 'mount' or 'umount' or 'm' or 'u'")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
is_mounted = VERIFY_MOUNTED()
|
||||||
|
|
||||||
|
if operation is None:
|
||||||
|
# Auto-detect.
|
||||||
|
if is_mounted:
|
||||||
|
operation = "umount"
|
||||||
|
else:
|
||||||
|
operation = "mount"
|
||||||
|
|
||||||
|
# Run the command.
|
||||||
|
if operation == "mount":
|
||||||
|
if is_mounted:
|
||||||
|
print("davfs is already mounted at {}".format(MOUNT_POINT))
|
||||||
|
sys.exit(1)
|
||||||
|
print("Mounting {} to {}".format(WEBDAV_URL, MOUNT_POINT))
|
||||||
|
subprocess.call(["sudo", "mount.davfs", WEBDAV_URL, MOUNT_POINT])
|
||||||
|
else:
|
||||||
|
if not is_mounted:
|
||||||
|
print("davfs is not mounted")
|
||||||
|
sys.exit(1)
|
||||||
|
print("Unmounting davfs")
|
||||||
|
subprocess.call(["sudo", "fusermount", "-u", "davfs"])
|
Loading…
Reference in New Issue
Block a user