Loading sbws/lib/resultdump.py +13 −11 Original line number Diff line number Diff line Loading @@ -97,6 +97,18 @@ def load_recent_results_in_datadir(fresh_days, datadir, success_only=False, return results def write_result_to_datadir(result, datadir): ''' Can be called from any thread ''' assert isinstance(result, Result) assert os.path.isdir(datadir) dt = date.fromtimestamp(result.time) ext = '.txt' result_fname = os.path.join( datadir, '{}{}'.format(dt, ext)) with open(result_fname, 'at') as fd: fd.write('{}\n'.format(str(result))) class _StrEnum(str, Enum): pass Loading Loading @@ -363,16 +375,6 @@ class ResultDump: self.data = trim_results(self.fresh_days, self.data, self.log.debug) def write_result(self, result): ''' Call from ResultDump thread ''' assert isinstance(result, Result) dt = date.fromtimestamp(result.time) ext = '.txt' result_fname = os.path.join( self.datadir, '{}{}'.format(dt, ext)) with open(result_fname, 'at') as fd: fd.write('{}\n'.format(str(result))) def enter(self): ''' Main loop for the ResultDump thread ''' with self.data_lock: Loading @@ -395,7 +397,7 @@ class ResultDump: fp = result.fingerprint nick = result.nickname self.store_result(result) self.write_result(result) write_result_to_datadir(result, self.datadir) self.log.debug(fp, nick, 'finished measurement') def results_for_relay(self, relay): Loading tests/commands/test_stats.py +11 −19 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ from sbws.util.config import get_config from sbws.lib.resultdump import ResultError from sbws.lib.resultdump import ResultSuccess from sbws.lib.resultdump import Result from sbws.lib.resultdump import write_result_to_datadir import sbws.commands.init import sbws.commands.stats from datetime import date Loading @@ -22,12 +23,9 @@ def add_single_stale_result(dname): Result.Relay('DEADBEEF1111', 'CowSayWhat', '127.0.0.1'), ['DEADBEEF1111', 'BEADDEEF2222'], '127.0.1.1', 'SBWSclient', t=19950216) os.makedirs(os.path.join(str(dname), 'datadir')) dt = date.fromtimestamp(r.time) ext = '.txt' fname = os.path.join(str(dname), 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'wt') as fd: fd.write('{}\n'.format(str(r))) dd = os.path.join(str(dname), 'datadir') os.makedirs(dd) write_result_to_datadir(r, dd) def add_single_fresh_result(dname): Loading @@ -35,12 +33,9 @@ def add_single_fresh_result(dname): Result.Relay('DEADBEEF1111', 'CowSayWhat', '127.0.0.1'), ['DEADBEEF1111', 'BEADDEEF2222'], '127.0.1.1', 'SBWSclient', t=time.time()) os.makedirs(os.path.join(str(dname), 'datadir')) dt = date.fromtimestamp(r.time) ext = '.txt' fname = os.path.join(str(dname), 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'wt') as fd: fd.write('{}\n'.format(str(r))) dd = os.path.join(str(dname), 'datadir') os.makedirs(dd) write_result_to_datadir(r, dd) def add_two_fresh_results(dname): Loading @@ -53,13 +48,10 @@ def add_two_fresh_results(dname): Result.Relay('DEADBEEF1111', 'CowSayWhat', '127.0.0.1'), ['DEADBEEF1111', 'BEADDEEF2222'], '127.0.1.1', 'SBWSclient', t=time.time()) os.makedirs(os.path.join(str(dname), 'datadir')) dt = date.fromtimestamp(r1.time) ext = '.txt' fname = os.path.join(str(dname), 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'wt') as fd: fd.write('{}\n'.format(str(r1))) fd.write('{}\n'.format(str(r2))) dd = os.path.join(str(dname), 'datadir') os.makedirs(dd) write_result_to_datadir(r1, dd) write_result_to_datadir(r2, dd) def test_stats_uninitted(tmpdir, log): Loading tests/conftest.py +5 −14 Original line number Diff line number Diff line from sbws.lib.resultdump import ResultError from sbws.lib.resultdump import ResultSuccess from sbws.lib.resultdump import Result from sbws.lib.resultdump import write_result_to_datadir from sbws.util.config import get_config from sbws.util.parser import create_parser import sbws.commands.init Loading @@ -8,7 +9,6 @@ from tempfile import TemporaryDirectory import pytest import os import time from datetime import date class MockPastlyLogger: Loading Loading @@ -101,13 +101,8 @@ def dotsbws_error_result(empty_dotsbws_datadir): t = time.time() relay = Result.Relay(fp1, nick, relay_ip) result = ResultError(relay, circ, server_ip, client_nick, t=t, msg=msg) dt = date.fromtimestamp(t) ext = '.txt' fname = os.path.join(empty_dotsbws_datadir.name, 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'at') as fd: fd.write('{}\n'.format(str(result))) dd = os.path.join(empty_dotsbws_datadir.name, 'datadir') write_result_to_datadir(result, dd) return empty_dotsbws_datadir Loading @@ -129,10 +124,6 @@ def dotsbws_success_result(empty_dotsbws_datadir): relay = Result.Relay(fp1, nick, relay_ip) result = ResultSuccess(rtts, downloads, relay, circ, server_ip, client_nick, t=t) dt = date.fromtimestamp(t) ext = '.txt' fname = os.path.join(empty_dotsbws_datadir.name, 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'at') as fd: fd.write('{}\n'.format(str(result))) dd = os.path.join(empty_dotsbws_datadir.name, 'datadir') write_result_to_datadir(result, dd) return empty_dotsbws_datadir Loading
sbws/lib/resultdump.py +13 −11 Original line number Diff line number Diff line Loading @@ -97,6 +97,18 @@ def load_recent_results_in_datadir(fresh_days, datadir, success_only=False, return results def write_result_to_datadir(result, datadir): ''' Can be called from any thread ''' assert isinstance(result, Result) assert os.path.isdir(datadir) dt = date.fromtimestamp(result.time) ext = '.txt' result_fname = os.path.join( datadir, '{}{}'.format(dt, ext)) with open(result_fname, 'at') as fd: fd.write('{}\n'.format(str(result))) class _StrEnum(str, Enum): pass Loading Loading @@ -363,16 +375,6 @@ class ResultDump: self.data = trim_results(self.fresh_days, self.data, self.log.debug) def write_result(self, result): ''' Call from ResultDump thread ''' assert isinstance(result, Result) dt = date.fromtimestamp(result.time) ext = '.txt' result_fname = os.path.join( self.datadir, '{}{}'.format(dt, ext)) with open(result_fname, 'at') as fd: fd.write('{}\n'.format(str(result))) def enter(self): ''' Main loop for the ResultDump thread ''' with self.data_lock: Loading @@ -395,7 +397,7 @@ class ResultDump: fp = result.fingerprint nick = result.nickname self.store_result(result) self.write_result(result) write_result_to_datadir(result, self.datadir) self.log.debug(fp, nick, 'finished measurement') def results_for_relay(self, relay): Loading
tests/commands/test_stats.py +11 −19 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ from sbws.util.config import get_config from sbws.lib.resultdump import ResultError from sbws.lib.resultdump import ResultSuccess from sbws.lib.resultdump import Result from sbws.lib.resultdump import write_result_to_datadir import sbws.commands.init import sbws.commands.stats from datetime import date Loading @@ -22,12 +23,9 @@ def add_single_stale_result(dname): Result.Relay('DEADBEEF1111', 'CowSayWhat', '127.0.0.1'), ['DEADBEEF1111', 'BEADDEEF2222'], '127.0.1.1', 'SBWSclient', t=19950216) os.makedirs(os.path.join(str(dname), 'datadir')) dt = date.fromtimestamp(r.time) ext = '.txt' fname = os.path.join(str(dname), 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'wt') as fd: fd.write('{}\n'.format(str(r))) dd = os.path.join(str(dname), 'datadir') os.makedirs(dd) write_result_to_datadir(r, dd) def add_single_fresh_result(dname): Loading @@ -35,12 +33,9 @@ def add_single_fresh_result(dname): Result.Relay('DEADBEEF1111', 'CowSayWhat', '127.0.0.1'), ['DEADBEEF1111', 'BEADDEEF2222'], '127.0.1.1', 'SBWSclient', t=time.time()) os.makedirs(os.path.join(str(dname), 'datadir')) dt = date.fromtimestamp(r.time) ext = '.txt' fname = os.path.join(str(dname), 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'wt') as fd: fd.write('{}\n'.format(str(r))) dd = os.path.join(str(dname), 'datadir') os.makedirs(dd) write_result_to_datadir(r, dd) def add_two_fresh_results(dname): Loading @@ -53,13 +48,10 @@ def add_two_fresh_results(dname): Result.Relay('DEADBEEF1111', 'CowSayWhat', '127.0.0.1'), ['DEADBEEF1111', 'BEADDEEF2222'], '127.0.1.1', 'SBWSclient', t=time.time()) os.makedirs(os.path.join(str(dname), 'datadir')) dt = date.fromtimestamp(r1.time) ext = '.txt' fname = os.path.join(str(dname), 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'wt') as fd: fd.write('{}\n'.format(str(r1))) fd.write('{}\n'.format(str(r2))) dd = os.path.join(str(dname), 'datadir') os.makedirs(dd) write_result_to_datadir(r1, dd) write_result_to_datadir(r2, dd) def test_stats_uninitted(tmpdir, log): Loading
tests/conftest.py +5 −14 Original line number Diff line number Diff line from sbws.lib.resultdump import ResultError from sbws.lib.resultdump import ResultSuccess from sbws.lib.resultdump import Result from sbws.lib.resultdump import write_result_to_datadir from sbws.util.config import get_config from sbws.util.parser import create_parser import sbws.commands.init Loading @@ -8,7 +9,6 @@ from tempfile import TemporaryDirectory import pytest import os import time from datetime import date class MockPastlyLogger: Loading Loading @@ -101,13 +101,8 @@ def dotsbws_error_result(empty_dotsbws_datadir): t = time.time() relay = Result.Relay(fp1, nick, relay_ip) result = ResultError(relay, circ, server_ip, client_nick, t=t, msg=msg) dt = date.fromtimestamp(t) ext = '.txt' fname = os.path.join(empty_dotsbws_datadir.name, 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'at') as fd: fd.write('{}\n'.format(str(result))) dd = os.path.join(empty_dotsbws_datadir.name, 'datadir') write_result_to_datadir(result, dd) return empty_dotsbws_datadir Loading @@ -129,10 +124,6 @@ def dotsbws_success_result(empty_dotsbws_datadir): relay = Result.Relay(fp1, nick, relay_ip) result = ResultSuccess(rtts, downloads, relay, circ, server_ip, client_nick, t=t) dt = date.fromtimestamp(t) ext = '.txt' fname = os.path.join(empty_dotsbws_datadir.name, 'datadir', '{}{}'.format(dt, ext)) with open(fname, 'at') as fd: fd.write('{}\n'.format(str(result))) dd = os.path.join(empty_dotsbws_datadir.name, 'datadir') write_result_to_datadir(result, dd) return empty_dotsbws_datadir