Rev3097, Add peer info for bigfiles even if it's not downloaded

This commit is contained in:
shortcutme 2017-10-06 00:42:19 +02:00
parent 07caaa6b48
commit 7905e12fc3
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
2 changed files with 15 additions and 14 deletions

View file

@ -50,14 +50,12 @@ class UiWebsocketPlugin(object):
sha512 = file_info["sha512"] sha512 = file_info["sha512"]
piecefield = site.storage.piecefields[sha512].tostring() piecefield = site.storage.piecefields[sha512].tostring()
if not piecefield: if piecefield:
return False row["pieces"] = len(piecefield)
row["pieces_downloaded"] = piecefield.count("1")
row["pieces"] = len(piecefield) row["downloaded_percent"] = 100 * row["pieces_downloaded"] / row["pieces"]
row["pieces_downloaded"] = piecefield.count("1") row["bytes_downloaded"] = row["pieces_downloaded"] * file_info["piece_size"]
row["downloaded_percent"] = 100 * row["pieces_downloaded"] / row["pieces"] row["is_downloading"] = bool(next((task for task in site.worker_manager.tasks if task["inner_path"].startswith(row["inner_path"])), False))
row["bytes_downloaded"] = row["pieces_downloaded"] * file_info["piece_size"]
row["is_downloading"] = bool(next((key for key in site.bad_files if key.startswith(row["inner_path"])), False))
# Add leech / seed stats # Add leech / seed stats
row["peer_seed"] = 0 row["peer_seed"] = 0
@ -66,16 +64,19 @@ class UiWebsocketPlugin(object):
if not peer.time_piecefields_updated or sha512 not in peer.piecefields: if not peer.time_piecefields_updated or sha512 not in peer.piecefields:
continue continue
peer_piecefield = peer.piecefields[sha512].tostring() peer_piecefield = peer.piecefields[sha512].tostring()
if peer_piecefield == "1" * row["pieces"]: if not peer_piecefield:
continue
if peer_piecefield == "1" * len(peer_piecefield):
row["peer_seed"] += 1 row["peer_seed"] += 1
else: else:
row["peer_leech"] += 1 row["peer_leech"] += 1
# Add myself # Add myself
if row["pieces_downloaded"] == row["pieces"]: if piecefield:
row["peer_seed"] += 1 if row["pieces_downloaded"] == row["pieces"]:
else: row["peer_seed"] += 1
row["peer_leech"] += 1 else:
row["peer_leech"] += 1
return True return True

View file

@ -10,7 +10,7 @@ class Config(object):
def __init__(self, argv): def __init__(self, argv):
self.version = "0.6.0" self.version = "0.6.0"
self.rev = 3095 self.rev = 3097
self.argv = argv self.argv = argv
self.action = None self.action = None
self.config_file = "zeronet.conf" self.config_file = "zeronet.conf"