From 23b20ff4a63c77bebf6ac2d03b6fba06e38e30b3 Mon Sep 17 00:00:00 2001 From: ed Date: Mon, 26 Jul 2021 23:53:13 +0200 Subject: [PATCH] bos abspath --- copyparty/authsrv.py | 6 +++--- copyparty/bos/path.py | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/copyparty/authsrv.py b/copyparty/authsrv.py index 33e19a67..ecb8cb89 100644 --- a/copyparty/authsrv.py +++ b/copyparty/authsrv.py @@ -369,7 +369,7 @@ class AuthSrv(object): raise Exception('invalid mountpoint "{}"'.format(vol_dst)) # cfg files override arguments and previous files - vol_src = fsdec(os.path.abspath(fsenc(vol_src))) + vol_src = bos.path.abspath(vol_src) vol_dst = vol_dst.strip("/") mount[vol_dst] = vol_src daxs[vol_dst] = AXS() @@ -461,7 +461,7 @@ class AuthSrv(object): src = uncyg(src) # print("\n".join([src, dst, perms])) - src = fsdec(os.path.abspath(fsenc(src))) + src = bos.path.abspath(src) dst = dst.strip("/") mount[dst] = src daxs[dst] = AXS() @@ -492,7 +492,7 @@ class AuthSrv(object): if not mount: # -h says our defaults are CWD at root and read/write for everyone axs = AXS(["*"], ["*"], None, None) - vfs = VFS(self.log_func, os.path.abspath("."), "", axs, {}) + vfs = VFS(self.log_func, bos.path.abspath("."), "", axs, {}) elif "" not in mount: # there's volumes but no root; make root inaccessible vfs = VFS(self.log_func, None, "", AXS(), {}) diff --git a/copyparty/bos/path.py b/copyparty/bos/path.py index 3c9965b1..ec5ca16d 100644 --- a/copyparty/bos/path.py +++ b/copyparty/bos/path.py @@ -5,6 +5,10 @@ import os from ..util import fsenc, fsdec +def abspath(p): + return fsdec(os.path.abspath(fsenc(p))) + + def exists(p): return os.path.exists(fsenc(p))