Skip to content

Commit

Permalink
Cleanup a little bit
Browse files Browse the repository at this point in the history
  • Loading branch information
Ketok4321 committed Aug 16, 2023
1 parent f9cb177 commit 67a1296
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 17 deletions.
7 changes: 0 additions & 7 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ def do_activate(self):
self.win.view_switcher.set_visible_child(self.win.offline_view)

def fetch_servers(self):
#if not self.speedtest.check_internet_connection():
# return False

try:
while self.servers == None or len(self.servers) == 0: # A proper fix would probably be better but this works too
self.servers = asyncio.get_event_loop().run_until_complete(get_servers())
Expand All @@ -60,10 +57,6 @@ def on_about_action(self, widget, _): #TODO: Credit speedtest-cli and ookla
about.present()

def on_start_action(self, widget, _):
#if not self.speedtest.check_internet_connection():
# self.win.view_switcher.set_visible_child(self.win.offline_view)
# return

self.win.view_switcher.set_visible_child(self.win.test_view)
self.win.back_button.set_visible(True)

Expand Down
20 changes: 10 additions & 10 deletions src/speedtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@

from urllib.parse import urljoin

CHUNK_SIZE = 100 # in mb?
CHUNK_SIZE = 100 # in MB
UPLOAD_SIZE = 1024 # in KiB
REQUEST_COUNT = 3
DURATION = 15

garbage = os.urandom(UPLOAD_SIZE * 1024)

headers = {
"User-Agent": "ketok-speedtest/dev",
HEADERS = {
"Accept-Encoding": "identity",
"User-Agent": "ketok-speedtest/dev",
}

garbage = os.urandom(UPLOAD_SIZE * 1024)

class Server:
def __init__(self, name, server, pingURL, dlURL, ulURL, **_):
if not (server.startswith("https:") or server.startswith("http:")):
Expand Down Expand Up @@ -99,15 +99,15 @@ async def ping(server): #TODO: jitter and other stuff
pings = []
for i in range(10):
start = time.time()
async with session.get(server.pingURL, headers=headers) as response:
async with session.get(server.pingURL, headers=HEADERS) as response:
pings.append(time.time() - start)
return sum(pings) / len(pings) * 1000

async def download(server, total):
print(server.downloadURL)
async with aiohttp.ClientSession() as session:
while True:
async with session.get(server.downloadURL + "?ckSize=" + str(CHUNK_SIZE), headers=headers) as response:
async with session.get(server.downloadURL + "?ckSize=" + str(CHUNK_SIZE), headers=HEADERS) as response:
async for data in response.content.iter_any():
total[0] += len(data)

Expand All @@ -117,7 +117,7 @@ async def upload(server, total):
def callback(size):
total[0] += size
reader = GarbageReader(callback)
async with session.post(server.uploadURL, headers=headers, data=reader) as response:
async with session.post(server.uploadURL, headers=HEADERS, data=reader) as response:
while reader.tell() < reader.length - 1:
await asyncio.sleep(0)

Expand All @@ -130,9 +130,9 @@ async def perform_test(test, server, callback, interval):

for i in range(REQUEST_COUNT):
tasks.append(asyncio.create_task(test(server, total)))
await asyncio.sleep(0.3) # speedtest-go uses 200, the website uses 300
await asyncio.sleep(0.3)

while True: # if done, do it again until DURATION
while True:
elapsed_time = time.time() - start_time
if elapsed_time >= DURATION:
for t in tasks: t.cancel()
Expand Down

0 comments on commit 67a1296

Please sign in to comment.