From 4f19f11987357284149a1e0bfb6a63cbdc89c5c8 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sun, 21 Aug 2011 21:28:24 +0300 Subject: [PATCH] ppf: Add implementation for add_*_message. --- ppf/new/storage.py | 86 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 75 insertions(+), 11 deletions(-) diff --git a/ppf/new/storage.py b/ppf/new/storage.py index 8fb9435..37f71c8 100644 --- a/ppf/new/storage.py +++ b/ppf/new/storage.py @@ -150,9 +150,10 @@ class ClientSession(object): class PeerStatusMessage(object): """ Class mimics a C structure. """ - def __init__(self, client_session_id=None, date=None, time=None, - peer_ip=None, peer_port=None, download_speed=None, + def __init__(self, swarm_id=None, client_session_id=None, date=None, + time=None, peer_ip=None, peer_port=None, download_speed=None, upload_speed=None): + self.swarm_id = swarm_id self.client_session_id = client_session_id self.date = date self.time = time @@ -163,10 +164,11 @@ class PeerStatusMessage(object): class StatusMessage(object): """ Class mimics a C structure. """ - def __init__(self, client_session_id=None, date=None, time=None, - num_peers=None, num_dht_peers=None, download_speed=None, - upload_speed=None, download_size=None, upload_size=None, - eta=None): + def __init__(self, swarm_id=None, client_session_id=None, date=None, + time=None, num_peers=None, num_dht_peers=None, + download_speed=None, upload_speed=None, download_size=None, + upload_size=None, eta=None): + self.swarm_id = swarm_id self.client_session_id = client_session_id self.date = date self.time = time @@ -180,10 +182,11 @@ class StatusMessage(object): class VerboseMessage(object): """ Class mimics a C structure. """ - def __init__(self, client_session_id=None, date=None, time=None, - transfer_direction=None, peer_ip=None, peer_port=None, + def __init__(self, swarm_id=None, client_session_id=None, date=None, + time=None, transfer_direction=None, peer_ip=None, peer_port=None, message_type=None, index=None, begin=None, length=None, listen_port=None): + self.swarm_id = swarm_id self.client_session_id = client_session_id self.date = date self.time = time @@ -360,13 +363,74 @@ class TreeTextFileAccess(FileAccess): f.close() def add_peer_status_message(self, msg): - pass + # TODO: id is number of lines in file. + swarm_path = os.path.join(self.base_path, str(msg.swarm_id)) + session_path = os.path.join(swarm_path, str(msg.client_session_id)) + message_file = os.path.join(session_path, "peer_status.txt") + + f = open(message_file, 'w') + f.write("""id = %s + swarm_id = %s + client_session_id = %s + date = %s + time = %s + peer_ip = %s + peer_port = %s + download_speed = %s + upload_speed = %s + """ %(1, msg.swarm_id, msg.client_session_id, msg.date, msg.time, + msg.peer_ip, msg.peer_port, msg.download_speed, msg.upload_speed)) + f.close() def add_status_message(self, msg): - pass + # TODO: id is number of lines in file. + swarm_path = os.path.join(self.base_path, str(msg.swarm_id)) + session_path = os.path.join(swarm_path, str(msg.client_session_id)) + message_file = os.path.join(session_path, "status.txt") + + f = open(message_file, 'w') + f.write("""id = %s + swarm_id = %s + client_session_id = %s + date = %s + time = %s + num_peers = %s + num_dht_peers = %s + download_speed = %s + upload_speed = %s + download_size = %s + upload_size = %s + eta = %s + """ %(1, msg.swarm_id, msg.client_session_id, msg.date, msg.time, + msg.num_peers, msg.num_dht_peers, msg.download_speed, + msg.upload_speed, msg.download_size, msg.upload_size, msg.eta)) + f.close() def add_verbose_message(self, msg): - pass + # TODO: id is number of lines in file. + swarm_path = os.path.join(self.base_path, str(msg.swarm_id)) + session_path = os.path.join(swarm_path, str(msg.client_session_id)) + message_file = os.path.join(session_path, "verbose.txt") + + f = open(message_file, 'w') + f.write("""id = %s + swarm_id = %s + client_session_id = %s + date = %s + time = %s + transfer_direction = %s + peer_ip = %s + peer_port = %s + message_type = %s + index = %s + begin = %s + length = %s + listen_port = %s + """ %(1, msg.swarm_id, msg.client_session_id, msg.date, msg.time, + msg.transfer_direction, msg.peer_ip, msg.peer_port, + msg.message_type, msg.index, msg.begin, msg.length, + msg.listen_port)) + f.close() class DatabaseAccess(SwarmDataAccess): def __init__(self): -- 2.20.1