mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
more mojibake fixes
This commit is contained in:
parent
c62ebadda8
commit
d3aae8ed6a
|
@ -1115,7 +1115,8 @@ class HttpCli(object):
|
|||
excl = None
|
||||
if target:
|
||||
excl, target = (target.split("/", 1) + [""])[:2]
|
||||
ret["k" + excl] = self.gen_tree("/".join([top, excl]).strip("/"), target)
|
||||
sub = self.gen_tree("/".join([top, excl]).strip("/"), target)
|
||||
ret["k" + quotep(excl)] = sub
|
||||
|
||||
try:
|
||||
vn, rem = self.auth.vfs.get(top, self.uname, True, False)
|
||||
|
|
|
@ -684,7 +684,7 @@ class Up2k(object):
|
|||
cur = cur.execute(q, argv)
|
||||
for _, dtime, dsize, dp_dir, dp_fn in cur:
|
||||
if dp_dir.startswith("//") or dp_fn.startswith("//"):
|
||||
dp_dir, dp_fn = s3dec(self.mem_cur, dp_dir, dp_fn)
|
||||
dp_dir, dp_fn = s3dec(dp_dir, dp_fn)
|
||||
|
||||
dp_abs = os.path.join(cj["ptop"], dp_dir, dp_fn).replace("\\", "/")
|
||||
# relying on path.exists to return false on broken symlinks
|
||||
|
@ -806,8 +806,13 @@ class Up2k(object):
|
|||
raise OSError()
|
||||
elif fs1 == fs2:
|
||||
# same fs; make symlink as relative as possible
|
||||
nsrc = src.replace("\\", "/").split("/")
|
||||
ndst = dst.replace("\\", "/").split("/")
|
||||
v = []
|
||||
for p in [src, dst]:
|
||||
if WINDOWS:
|
||||
p = p.replace("\\", "/")
|
||||
v.append(p.split("/"))
|
||||
|
||||
nsrc, ndst = v
|
||||
nc = 0
|
||||
for a, b in zip(nsrc, ndst):
|
||||
if a != b:
|
||||
|
@ -815,7 +820,8 @@ class Up2k(object):
|
|||
nc += 1
|
||||
if nc > 1:
|
||||
lsrc = nsrc[nc:]
|
||||
lsrc = "../" * (len(lsrc) - 1) + "/".join(lsrc)
|
||||
hops = len(ndst[nc:]) - 1
|
||||
lsrc = "../" * hops + "/".join(lsrc)
|
||||
os.symlink(fsenc(lsrc), fsenc(ldst))
|
||||
except (AttributeError, OSError) as ex:
|
||||
self.log("cannot symlink; creating copy: " + repr(ex))
|
||||
|
|
Loading…
Reference in a new issue