From 3695acb0203216301abe5da25a99b6f8c0d4b80e Mon Sep 17 00:00:00 2001 From: Matt Martz Date: Wed, 30 Apr 2014 09:09:37 -0500 Subject: [PATCH] Fix descriptors --- speedtest_cli.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/speedtest_cli.py b/speedtest_cli.py index cde791b..10c7f23 100755 --- a/speedtest_cli.py +++ b/speedtest_cli.py @@ -359,17 +359,17 @@ class HTTPUploader(threading.Thread): class DataDescriptor(object): - def __init__(self, value=None): - self.value = value + def __init__(self, default=None): + self.value = self.default = default def __get__(self, instance, cls): return self.value - def __set__(self, value): + def __set__(self, instance, value): self.value = value def __delete__(self): - self.value = 0 + self.value = self.default class SpeedtestResults(object): @@ -385,13 +385,18 @@ class SpeedtestResults(object): to get a share results image link. """ + download = DataDescriptor(0) + upload = DataDescriptor(0) + ping = DataDescriptor(0) + server = DataDescriptor(dict()) + _share = DataDescriptor(None) def __init__(self, download=0, upload=0, ping=0, server=dict()): - self.download = DataDescriptor(download) - self.upload = DataDescriptor(upload) - self.ping = DataDescriptor(ping) - self.server = DataDescriptor(server) - self.share = DataDescriptor(None) + self.download = download + self.upload = upload + self.ping = ping + self.server = server + self._share = None def dict(self): """Return dictionary of result data"""