Skip to content

Commit

Permalink
Make gauge-scale work
Browse files Browse the repository at this point in the history
  • Loading branch information
Ketok4321 committed Oct 1, 2023
1 parent 685f342 commit f407ad8
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 13 deletions.
2 changes: 1 addition & 1 deletion src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def on_start_action(self, widget, _):
self.win.test_view.reset()
self.win.test_view.server = server.name

self.worker = SpeedtestWorker(self.backend, self.win, server)
self.worker = SpeedtestWorker(self.backend, self.win, server, self.settings)
self.worker.start()

def on_back_action(self, widget, _):
Expand Down
11 changes: 8 additions & 3 deletions src/speedtest_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ class SpeedtestResults:
total_up: int = 0

class SpeedtestWorker(threading.Thread):
def __init__(self, backend, win, server):
def __init__(self, backend, win, server, settings):
super().__init__(name="SpeedtestWorker", daemon=True)

self.stop_event = threading.Event()
self.backend = backend
self.win = win
self.server = server
self.settings = settings

def run(self):
event_loop = asyncio.new_event_loop()
Expand Down Expand Up @@ -59,7 +60,8 @@ def on_event(type):
nonlocal timeout

if type == "ping":
view.update_ping(self.results.ping, self.results.jitter)
view.ping = f"{self.results.ping:.0f}ms"
view.jitter = f"{self.results.jitter:.0f}ms"
elif type == "download_start":
timeout = GLib.timeout_add(1000 / 30, lambda: self.update(view.download, self.results.total_dl, False))

Expand Down Expand Up @@ -98,7 +100,10 @@ def update(self, gauge, total, part_two):
value = total * OVERHEAD_COMPENSATION / current_duration

if current_duration > 1:
view.update_gauge(gauge, value)
speedMb = round(value / 125_000, 1)
gauge.value = str(speedMb) + "Mbps"
gauge.fill = min(speedMb / self.settings.get_int("gauge-scale"), 1.0)

view.progress.set_fraction(current_duration / DURATION * 0.5 + (0.5 if part_two else 0.0))

return not self.stop_event.is_set()
Expand Down
9 changes: 0 additions & 9 deletions src/window.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,6 @@ class TestView(Gtk.Box):
def __init__(self, **kwargs):
super().__init__(**kwargs)

def update_ping(self, ping, jitter):
self.ping = str(round(ping)) + "ms"
self.jitter = str(round(jitter)) + "ms"

def update_gauge(self, object, speed):
speedMb = round(speed / 125_000, 1)
object.value = str(speedMb) + "Mbps"
object.fill = min(speedMb / 100, 1.0)

def reset(self):
for obj in self.download, self.upload:
obj.value = "..."
Expand Down

0 comments on commit f407ad8

Please sign in to comment.