This repository has been archived on 2023-06-09. You can view files and clone it, but cannot push or open issues or pull requests.
jarvis-server/jarvis/skills/productivity/speedtest/__init__.py

33 lines
1.0 KiB
Python
Raw Normal View History

2021-08-01 18:25:40 +02:00
import speedtest
from jarvis.skills import Skill, SkillRegistering
from jarvis.skills.decorators import intent_file_handler
class SpeedTestSkill(Skill, metaclass=SkillRegistering):
def __init__(self, data=dict):
super().__init__("SpeedTestSkill", data)
@intent_file_handler("start_speedtest.intent", "StartSpeedTestIntent")
def handle_speedtest(self, data):
try:
self.speak_dialog('starting_speedtest')
speed = speedtest.Speedtest()
# speed.get_servers([])
speed.get_best_server()
speed.download()
speed.upload(pre_allocate=False)
# speed.results.share()
result = speed.results.dict()
down_speed = ('%.2f' % float((result["download"]) / 1000000))
up_speed = ('%.2f' % float((result["upload"]) / 1000000))
self.speak_dialog('result', {'DOWN': down_speed, 'UP': up_speed})
except:
self.speak_dialog("error")
def create_skill(data):
return SpeedTestSkill(data)