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'
|
help() { cat <<'EOF'
|
||||||
|
|
||||||
usage:
|
usage:
|
||||||
./prisonparty.sh <ROOTDIR> <UID> <GID> [VOLDIR [VOLDIR...]] -- python3 copyparty-sfx.py [...]"
|
./prisonparty.sh <ROOTDIR> <UID> <GID> [VOLDIR [VOLDIR...]] -- python3 copyparty-sfx.py [...]
|
||||||
|
|
||||||
example:
|
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):
|
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),
|
note that if you have python modules installed as --user (such as bpm/key detectors),
|
||||||
you should add /home/foo/.local as a VOLDIR
|
you should add /home/foo/.local as a VOLDIR
|
||||||
|
|
|
@ -31,6 +31,7 @@ from .util import (
|
||||||
ProgressPrinter,
|
ProgressPrinter,
|
||||||
absreal,
|
absreal,
|
||||||
atomic_move,
|
atomic_move,
|
||||||
|
djoin,
|
||||||
fsenc,
|
fsenc,
|
||||||
min_ex,
|
min_ex,
|
||||||
quotep,
|
quotep,
|
||||||
|
@ -1527,7 +1528,7 @@ class Up2k(object):
|
||||||
wark = self._get_wark(cj)
|
wark = self._get_wark(cj)
|
||||||
now = time.time()
|
now = time.time()
|
||||||
job = None
|
job = None
|
||||||
pdir = os.path.join(cj["ptop"], cj["prel"])
|
pdir = djoin(cj["ptop"], cj["prel"])
|
||||||
try:
|
try:
|
||||||
dev = bos.stat(pdir).st_dev
|
dev = bos.stat(pdir).st_dev
|
||||||
except:
|
except:
|
||||||
|
@ -1639,7 +1640,7 @@ class Up2k(object):
|
||||||
for k in ["ptop", "vtop", "prel"]:
|
for k in ["ptop", "vtop", "prel"]:
|
||||||
job[k] = cj[k]
|
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"])
|
job["name"] = self._untaken(pdir, cj["name"], now, cj["addr"])
|
||||||
dst = os.path.join(job["ptop"], job["prel"], job["name"])
|
dst = os.path.join(job["ptop"], job["prel"], job["name"])
|
||||||
if not self.args.nw:
|
if not self.args.nw:
|
||||||
|
@ -1655,7 +1656,7 @@ class Up2k(object):
|
||||||
if not job:
|
if not job:
|
||||||
vfs = self.asrv.vfs.all_vols[cj["vtop"]]
|
vfs = self.asrv.vfs.all_vols[cj["vtop"]]
|
||||||
if vfs.lim:
|
if vfs.lim:
|
||||||
ap1 = os.path.join(cj["ptop"], cj["prel"])
|
ap1 = djoin(cj["ptop"], cj["prel"])
|
||||||
ap2, cj["prel"] = vfs.lim.all(
|
ap2, cj["prel"] = vfs.lim.all(
|
||||||
cj["addr"], cj["prel"], cj["size"], ap1, reg
|
cj["addr"], cj["prel"], cj["size"], ap1, reg
|
||||||
)
|
)
|
||||||
|
@ -2413,7 +2414,7 @@ class Up2k(object):
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def _new_upload(self, job: dict[str, Any]) -> None:
|
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"])):
|
if not job["size"] and bos.path.isfile(os.path.join(pdir, job["name"])):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -989,6 +989,11 @@ def s2hms(s: float, optional_h: bool = False) -> str:
|
||||||
return "{}:{:02}:{:02}".format(h, m, s)
|
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:
|
def uncyg(path: str) -> str:
|
||||||
if len(path) < 2 or not path.startswith("/"):
|
if len(path) < 2 or not path.startswith("/"):
|
||||||
return path
|
return path
|
||||||
|
|
Loading…
Reference in a new issue