Improved the weather skill models for overall better experience
This commit is contained in:
parent
12119f4281
commit
4b76a0ce1f
@ -1,210 +0,0 @@
|
|||||||
"""
|
|
||||||
Based on the Open-Source Mycroft Weather Skill
|
|
||||||
https://github.com/MycroftAI/skill-weather/blob/21.02/skill/weather.py
|
|
||||||
"""
|
|
||||||
|
|
||||||
from adapt.intent import IntentBuilder
|
|
||||||
|
|
||||||
from ... import Skill, SkillRegistering
|
|
||||||
from ...decorators import intent_handler, intent_file_handler
|
|
||||||
|
|
||||||
|
|
||||||
class WeatherSkill(Skill, metaclass=SkillRegistering):
|
|
||||||
"""Main skill code for the weather skill."""
|
|
||||||
|
|
||||||
def __init__(self, data=dict):
|
|
||||||
super().__init__("WeatherSkill", data)
|
|
||||||
|
|
||||||
def handle_how_hot_or_cold(self, data):
|
|
||||||
"""Handler for temperature requests such as: how cold will it be today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_is_it_windy")
|
|
||||||
.require("confirm-query")
|
|
||||||
.require("windy")
|
|
||||||
.optionally("location")
|
|
||||||
.optionally("relative-day")
|
|
||||||
)
|
|
||||||
def handle_is_it_windy(self, data):
|
|
||||||
"""Handler for weather requests such as: is it windy today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_windy")
|
|
||||||
.require("how")
|
|
||||||
.require("windy")
|
|
||||||
.optionally("confirm-query")
|
|
||||||
.optionally("relative-day")
|
|
||||||
.optionally("location")
|
|
||||||
)
|
|
||||||
def handle_windy(self, data):
|
|
||||||
"""Handler for weather requests such as: how windy is it?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_is_it_snowing")
|
|
||||||
.require("confirm-query")
|
|
||||||
.require("snow")
|
|
||||||
.optionally("location")
|
|
||||||
)
|
|
||||||
def handle_is_it_snowing(self, data):
|
|
||||||
"""Handler for weather requests such as: is it snowing today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_is_it_clear")
|
|
||||||
.require("confirm-query")
|
|
||||||
.require("clear")
|
|
||||||
.optionally("location")
|
|
||||||
)
|
|
||||||
def handle_is_it_clear(self, data):
|
|
||||||
"""Handler for weather requests such as: is the sky clear today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_is_it_cloudy")
|
|
||||||
.require("confirm-query")
|
|
||||||
.require("clouds")
|
|
||||||
.optionally("location")
|
|
||||||
.optionally("relative-time")
|
|
||||||
)
|
|
||||||
def handle_is_it_cloudy(self, data):
|
|
||||||
"""Handler for weather requests such as: is it cloudy today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_is_it_foggy").require("ConfirmQuery").require("Fog").optionally("Location")
|
|
||||||
)
|
|
||||||
def handle_is_it_foggy(self, data):
|
|
||||||
"""Handler for weather requests such as: is it foggy today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_is_it_raining").require("ConfirmQuery").require("Rain").optionally("Location")
|
|
||||||
)
|
|
||||||
def handle_is_it_raining(self, data):
|
|
||||||
"""Handler for weather requests such as: is it raining today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
# @intent_file_handler("do-i-need-an-umbrella.intent", "handle_need_umbrella")
|
|
||||||
def handle_need_umbrella(self, data):
|
|
||||||
"""Handler for weather requests such as: will I need an umbrella today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_is_it_storming")
|
|
||||||
.require("ConfirmQuery")
|
|
||||||
.require("Thunderstorm")
|
|
||||||
.optionally("Location")
|
|
||||||
)
|
|
||||||
def handle_is_it_storming(self, data):
|
|
||||||
"""Handler for weather requests such as: is it storming today?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_next_precipitation")
|
|
||||||
.require("When")
|
|
||||||
.optionally("Next")
|
|
||||||
.require("Precipitation")
|
|
||||||
.optionally("Location")
|
|
||||||
)
|
|
||||||
def handle_next_precipitation(self, data):
|
|
||||||
"""Handler for weather requests such as: when will it rain next?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_humidity")
|
|
||||||
.require("Query")
|
|
||||||
.require("Humidity")
|
|
||||||
.optionally("RelativeDay")
|
|
||||||
.optionally("Location")
|
|
||||||
)
|
|
||||||
def handle_humidity(self, data):
|
|
||||||
"""Handler for weather requests such as: how humid is it?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_sunrise")
|
|
||||||
.one_of("Query", "When")
|
|
||||||
.optionally("Location")
|
|
||||||
.require("Sunrise")
|
|
||||||
.optionally("Today")
|
|
||||||
.optionally("RelativeDay")
|
|
||||||
)
|
|
||||||
def handle_sunrise(self, data):
|
|
||||||
"""Handler for weather requests such as: when is the sunrise?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@intent_handler(
|
|
||||||
IntentBuilder("handle_sunset")
|
|
||||||
.one_of("Query", "When")
|
|
||||||
.require("Sunset")
|
|
||||||
.optionally("Location")
|
|
||||||
.optionally("Today")
|
|
||||||
.optionally("RelativeDay")
|
|
||||||
)
|
|
||||||
def handle_sunset(self, data):
|
|
||||||
"""Handler for weather requests such as: when is the sunset?
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data Bus event information from the intent parser
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def create_skill(data):
|
|
||||||
"""Boilerplate to invoke the weather skill."""
|
|
||||||
return WeatherSkill(data)
|
|
@ -15,11 +15,59 @@ class WeatherSkill(Skill, metaclass=SkillRegistering):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
@intent_file_handler("handle_is_it_hot.intent", "HandleIsItHotIntent")
|
@intent_file_handler("handle_is_it_hot.intent", "HandleIsItHotIntent")
|
||||||
def handle_temperature(self, data):
|
def handle_is_it_hot(self, data):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@intent_file_handler("handle_is_it_cold.intent", "HandleIsItColdIntent")
|
@intent_file_handler("handle_is_it_cold.intent", "HandleIsItColdIntent")
|
||||||
def handle_temperature(self, data):
|
def handle_is_it_cold(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_windy.intent", "HandleIsItWindyIntent")
|
||||||
|
def handle_windy(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_snowing.intent", "HandleIsItSnowingIntent")
|
||||||
|
def handle_snowning(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_clear.intent", "HandleIsItClearIntent")
|
||||||
|
def handle_is_it_clear(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_cloudy.intent", "HandleIsItCloudyIntent")
|
||||||
|
def handle_is_it_cloudy(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_foggy.intent", "HandleIsItFoggyIntent")
|
||||||
|
def handle_is_it_foggy(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_raining.intent", "HandleIsItRainingIntent")
|
||||||
|
def handle_is_it_raining(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_do_i_need_an_umbrella.intent", "HandleNeedUmbrellaIntent")
|
||||||
|
def handle_need_umbrella(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_storming.intent", "HandleIsItStormingIntent")
|
||||||
|
def handle_need_storming(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_is_it_humid.intent", "HandleIsItHumidIntent")
|
||||||
|
def handle_is_it_humid(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_when_raining.intent", "HandleWhenRainingIntent")
|
||||||
|
def handle_when_raining(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_sunrise.intent", "HandleSunriseIntent")
|
||||||
|
def handle_sunrise(self, data):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@intent_file_handler("handle_sunset.intent", "HandleSunsetIntent")
|
||||||
|
def handle_sunset(self, data):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ aujourd'hui
|
|||||||
aujo
|
aujo
|
||||||
lundi
|
lundi
|
||||||
mardi
|
mardi
|
||||||
mecredi
|
mercredi
|
||||||
jeudi
|
jeudi
|
||||||
vendredi
|
vendredi
|
||||||
samedi
|
samedi
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
est-ce que je vais avoir besoin d'un parapluie (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
aurais-je besoin d'un parapluie (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce que je dois prendre un parapluie ((avec moi|) (ce|cet|) ({day}|) ((à|a|pour) {location}|)|)es
|
@ -0,0 +1 @@
|
|||||||
|
est-ce que le ciel (sera|va être|est) dégagé (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
@ -0,0 +1,5 @@
|
|||||||
|
est-ce qu'il va y avoir des nuages (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce que ca va être nuageux (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce que le ciel sera nuageux (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
le ciel sera-il nuageux (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce qu'il fera nuageux (ce|cet|) ({day}|) ((à|a|pour) {location}|) ?
|
@ -1,2 +1,3 @@
|
|||||||
est-ce qu'il va faire froid {day}
|
est-ce qu'il va faire froid (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
va t'il faire froid {day}
|
va t'il faire froid (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
il va faire froid (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
@ -0,0 +1,5 @@
|
|||||||
|
est-ce qu'il (va y avoir|y aura) (du|de) (la|) (brouillard|brume) (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce que ca va être brumeux (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce que ce sera brumeux (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
va t'il y avoir de la brume (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
ca va être brumeux (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
@ -1,2 +1,3 @@
|
|||||||
est-ce qu'il va faire chaud {day}
|
est-ce qu'il va faire chaud (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
va t'il faire chaud {day}
|
va t'il faire chaud (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
il va faire chaud (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
@ -0,0 +1,3 @@
|
|||||||
|
est-ce que ca va être humide (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce que ce sera humide (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
va t'il y avoir (beaucoup|) d'humidité (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
@ -0,0 +1,4 @@
|
|||||||
|
est-ce qu'il (va pleuvoir|pleut|y (a|aura) de la pluie) (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
va t'il pleuvoir (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
il pleut (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce qu'on va se prendre la pluie aujourd'hui
|
@ -0,0 +1,3 @@
|
|||||||
|
est-ce qu'il va (y avoir de la neige|neiger) (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
va t'il (y avoir de la neige|neiger) (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
il va neiger (ce|cet|) ({day}|) ((à|a|pour) {location}|) ?
|
@ -0,0 +1,3 @@
|
|||||||
|
est-ce qu'il va y avoir de l'orage (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
va t'il avoir de l'orage (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce qu'il y aura de l'orage (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
@ -0,0 +1,4 @@
|
|||||||
|
est-ce qu'il va (faire venteux|y avoir (du|beaucoup de) vent) (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
va t'il (y|) avoir (beaucoup|du) vent (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
il va y avoir du vent (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
est-ce que ca va être venteux (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
@ -0,0 +1,4 @@
|
|||||||
|
quand est-ce que le soleil se lève
|
||||||
|
le soleil se lève quand
|
||||||
|
à quel heure se lève le soleil
|
||||||
|
(j'ai|on a) combien de {time} avant que (se lève|) le soleil (se lève|)
|
@ -0,0 +1,4 @@
|
|||||||
|
quand est-ce que le soleil se couche
|
||||||
|
le soleil se couche quand
|
||||||
|
à quel heure se couche le soleil
|
||||||
|
(j'ai|on a) combien de {time} avant que (se lève|) le soleil (se lève|)
|
@ -1,10 +1,8 @@
|
|||||||
ce sera quoi la température ((ce|cet|) {day}|) ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
il fait quel température
|
||||||
|
ce sera quoi la température ((ce|cet|) {day}|)
|
||||||
c'est quoi la température ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
c'est quoi la température ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
||||||
il fait quel température (dehors|) ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
il fait quel température (dehors|)
|
||||||
ca (ressemble à|donne) quoi la température (dehors|) ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
donne moi la température (pour|de) (ce|cet|) {day}
|
||||||
donne moi la température ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
|
||||||
donne moi la température (pour|de) (ce|cet|) {day} ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
|
||||||
dis moi la température ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
dis moi la température ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
||||||
dis moi la température (pour|de) (ce|cet|) {day} ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
|
||||||
il (fait|va faire) (quel température|combien) (dehors|) (soir|midi|après-midi|matin|) ((ce|cet|) {day}|) ((à|a|pour) {location}|)
|
il (fait|va faire) (quel température|combien) (dehors|) (soir|midi|après-midi|matin|) ((ce|cet|) {day}|) ((à|a|pour) {location}|)
|
||||||
il (fait|fera|va faire) (quelle|combien|) température (dehors|) ((ce|cet|) {day}|(pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|) ((à|a|pour) {location}|)
|
donne moi la température à {location} {day}
|
@ -7,7 +7,7 @@ donne moi la météo (pour|de) (ce|cet|) {day} ((pour|les|de ces|ces) {forecast_
|
|||||||
dis moi la météo ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
dis moi la météo ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
||||||
dis moi la météo (pour|de) (ce|cet|) {day} ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
dis moi la météo (pour|de) (ce|cet|) {day} ((pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|)
|
||||||
il (fait|va faire) quel temps (dehors|) (soir|midi|après-midi|matin|) ((ce|cet|) {day}|) ((à|a|pour) {location}|)
|
il (fait|va faire) quel temps (dehors|) (soir|midi|après-midi|matin|) ((ce|cet|) {day}|) ((à|a|pour) {location}|)
|
||||||
il (fait|fera|va faire) (quel|quoi|) (temps|météo|) (dehors|) ((ce|cet|) {day}|(pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|) ((à|a|pour) {location}|)
|
il (fait|fera|va faire) (quel|quoi|) (temps|météo|comme temps) (dehors|) ((ce|cet|) {day}|(pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|) ((à|a|pour) {location}|)
|
||||||
donne moi les prévisions de la journée ((à|pour) {location}|)
|
donne moi les prévisions de la journée ((à|pour) {location}|)
|
||||||
(donne moi|ce sera quoi) les prévisions (météo|) pour (ce|cet|) {day} ((à|a|pour) {location}|)
|
(donne moi|ce sera quoi) les prévisions (météo|) pour (ce|cet|) {day} ((à|a|pour) {location}|)
|
||||||
(donne moi|ce sera quoi) les prévisions (météo|) ({day}|(pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|) ((à|a|pour) {location}|)
|
(donne moi|ce sera quoi) les prévisions (météo|) ({day}|(pour|les|de ces|ces) {forecast_days} (prochain|prochains|) jours|) ((à|a|pour) {location}|)
|
@ -0,0 +1,6 @@
|
|||||||
|
quand va t'il pleuvoir (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
quand est-ce qu'il pleut (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
c'est quand qu'il va pleuvoir (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
il pleut quand (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
la pluie arrive quand (ce|cet|) ({day}|) ((à|a|pour) {location}|)
|
||||||
|
quand est-ce qu'on va se prendre la pluie
|
@ -0,0 +1 @@
|
|||||||
|
temps
|
Reference in New Issue
Block a user