mirror of
https://github.com/9001/copyparty.git
synced 2025-08-20 02:12:20 -06:00
oh cool
This commit is contained in:
parent
b38f20b408
commit
ca0b97f72d
|
@ -496,7 +496,12 @@ class HttpCli(object):
|
||||||
self.log("clone {} done".format(cstart[0]))
|
self.log("clone {} done".format(cstart[0]))
|
||||||
|
|
||||||
x = self.conn.hsrv.broker.put(True, "up2k.confirm_chunk", ptop, wark, chash)
|
x = self.conn.hsrv.broker.put(True, "up2k.confirm_chunk", ptop, wark, chash)
|
||||||
num_left, path = x.get()
|
x = x.get()
|
||||||
|
try:
|
||||||
|
num_left, path = x
|
||||||
|
except:
|
||||||
|
self.loud_reply(x, status=500)
|
||||||
|
return False
|
||||||
|
|
||||||
if not WINDOWS and num_left == 0:
|
if not WINDOWS and num_left == 0:
|
||||||
times = (int(time.time()), int(lastmod))
|
times = (int(time.time()), int(lastmod))
|
||||||
|
|
|
@ -421,7 +421,7 @@ class Up2k(object):
|
||||||
raise Pebkac(400, "unknown wark")
|
raise Pebkac(400, "unknown wark")
|
||||||
|
|
||||||
if chash not in job["need"]:
|
if chash not in job["need"]:
|
||||||
raise Pebkac(200, "already got that but thanks??")
|
raise Pebkac(400, "already got that but thanks??")
|
||||||
|
|
||||||
nchunk = [n for n, v in enumerate(job["hash"]) if v == chash]
|
nchunk = [n for n, v in enumerate(job["hash"]) if v == chash]
|
||||||
if not nchunk:
|
if not nchunk:
|
||||||
|
@ -438,12 +438,19 @@ class Up2k(object):
|
||||||
|
|
||||||
def confirm_chunk(self, ptop, wark, chash):
|
def confirm_chunk(self, ptop, wark, chash):
|
||||||
with self.mutex:
|
with self.mutex:
|
||||||
|
try:
|
||||||
job = self.registry[ptop][wark]
|
job = self.registry[ptop][wark]
|
||||||
pdir = os.path.join(job["ptop"], job["prel"])
|
pdir = os.path.join(job["ptop"], job["prel"])
|
||||||
src = os.path.join(pdir, job["tnam"])
|
src = os.path.join(pdir, job["tnam"])
|
||||||
dst = os.path.join(pdir, job["name"])
|
dst = os.path.join(pdir, job["name"])
|
||||||
|
except Exception as ex:
|
||||||
|
return "confirm_chunk, wark, " + repr(ex)
|
||||||
|
|
||||||
|
try:
|
||||||
job["need"].remove(chash)
|
job["need"].remove(chash)
|
||||||
|
except Exception as ex:
|
||||||
|
return "confirm_chunk, chash, " + repr(ex)
|
||||||
|
|
||||||
ret = len(job["need"])
|
ret = len(job["need"])
|
||||||
if ret > 0:
|
if ret > 0:
|
||||||
return ret, src
|
return ret, src
|
||||||
|
|
Loading…
Reference in a new issue