mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
fix dumb prisonparty bug
This commit is contained in:
parent
e0e3f6ac3e
commit
10430b347f
|
@ -11,13 +11,13 @@ sysdirs=( /bin /lib /lib32 /lib64 /sbin /usr )
|
|||
help() { cat <<'EOF'
|
||||
|
||||
usage:
|
||||
./prisonparty.sh <ROOTDIR> <UID> <GID> [VOLDIR [VOLDIR...]] -- python3 copyparty-sfx.py [...]"
|
||||
./prisonparty.sh <ROOTDIR> <UID> <GID> [VOLDIR [VOLDIR...]] -- python3 copyparty-sfx.py [...]
|
||||
|
||||
example:
|
||||
./prisonparty.sh /var/lib/copyparty-jail 1000 1000 /mnt/nas/music -- python3 copyparty-sfx.py -v /mnt/nas/music::rwmd"
|
||||
./prisonparty.sh /var/lib/copyparty-jail 1000 1000 /mnt/nas/music -- python3 copyparty-sfx.py -v /mnt/nas/music::rwmd
|
||||
|
||||
example for running straight from source (instead of using an sfx):
|
||||
PYTHONPATH=$PWD ./prisonparty.sh /var/lib/copyparty-jail 1000 1000 /mnt/nas/music -- python3 -um copyparty -v /mnt/nas/music::rwmd"
|
||||
PYTHONPATH=$PWD ./prisonparty.sh /var/lib/copyparty-jail 1000 1000 /mnt/nas/music -- python3 -um copyparty -v /mnt/nas/music::rwmd
|
||||
|
||||
note that if you have python modules installed as --user (such as bpm/key detectors),
|
||||
you should add /home/foo/.local as a VOLDIR
|
||||
|
|
|
@ -31,6 +31,7 @@ from .util import (
|
|||
ProgressPrinter,
|
||||
absreal,
|
||||
atomic_move,
|
||||
djoin,
|
||||
fsenc,
|
||||
min_ex,
|
||||
quotep,
|
||||
|
@ -1527,7 +1528,7 @@ class Up2k(object):
|
|||
wark = self._get_wark(cj)
|
||||
now = time.time()
|
||||
job = None
|
||||
pdir = os.path.join(cj["ptop"], cj["prel"])
|
||||
pdir = djoin(cj["ptop"], cj["prel"])
|
||||
try:
|
||||
dev = bos.stat(pdir).st_dev
|
||||
except:
|
||||
|
@ -1639,7 +1640,7 @@ class Up2k(object):
|
|||
for k in ["ptop", "vtop", "prel"]:
|
||||
job[k] = cj[k]
|
||||
|
||||
pdir = os.path.join(cj["ptop"], cj["prel"])
|
||||
pdir = djoin(cj["ptop"], cj["prel"])
|
||||
job["name"] = self._untaken(pdir, cj["name"], now, cj["addr"])
|
||||
dst = os.path.join(job["ptop"], job["prel"], job["name"])
|
||||
if not self.args.nw:
|
||||
|
@ -1655,7 +1656,7 @@ class Up2k(object):
|
|||
if not job:
|
||||
vfs = self.asrv.vfs.all_vols[cj["vtop"]]
|
||||
if vfs.lim:
|
||||
ap1 = os.path.join(cj["ptop"], cj["prel"])
|
||||
ap1 = djoin(cj["ptop"], cj["prel"])
|
||||
ap2, cj["prel"] = vfs.lim.all(
|
||||
cj["addr"], cj["prel"], cj["size"], ap1, reg
|
||||
)
|
||||
|
@ -2413,7 +2414,7 @@ class Up2k(object):
|
|||
return ret
|
||||
|
||||
def _new_upload(self, job: dict[str, Any]) -> None:
|
||||
pdir = os.path.join(job["ptop"], job["prel"])
|
||||
pdir = djoin(job["ptop"], job["prel"])
|
||||
if not job["size"] and bos.path.isfile(os.path.join(pdir, job["name"])):
|
||||
return
|
||||
|
||||
|
|
|
@ -989,6 +989,11 @@ def s2hms(s: float, optional_h: bool = False) -> str:
|
|||
return "{}:{:02}:{:02}".format(h, m, s)
|
||||
|
||||
|
||||
def djoin(*paths: str) -> str:
|
||||
"""joins without adding a trailing slash on blank args"""
|
||||
return os.path.join(*[x for x in paths if x])
|
||||
|
||||
|
||||
def uncyg(path: str) -> str:
|
||||
if len(path) < 2 or not path.startswith("/"):
|
||||
return path
|
||||
|
|
Loading…
Reference in a new issue