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