hab vor langer zeit mal ein kleines Plugin geschrieben das eine Art Wecker einstellen sollte und der dann auch naja Wecken sollte. Läuft alles Super. Jetzt wollte ich es International machen d.h. Übersetzten doch ich hab ein kleines Proble.
Ich hab keine Ahnung wie ich es erklären soll(hab 5 Minuten dran gesesen)
Es soll halt so Funktionieren
Wenn das Gesagte "Sechzehn" ist soll das Plugin das Wort "Sechzehn" in eine Zahl Uwandeln(halt im Plugin selbst nachschlagen) und dann einfach Weitergeben damit das Plugin mit der Zahl 16 und nicht mit dem Wort arbeitet.
Es sollte dann in dieses Plugin passen:
Code: Alles auswählen
class alarmPlugin(Plugin):
localizations = {
'Alarm': {
"settingAlarm": {
"de-DE": u"Stelle deinen Alarm\u2026"
}, "alarmWasSet": {
"de-DE": u"Ok, ich werde dich um {0}:{1} aufwecken."
}, "alarmSetWithLabel": {
"de-DE": u"Dein Wecker {0} {1} ist gestellt auf {2}:{3} {4}."
}
}
}
res = {
'setAlarm': {
'de-DE': u'.*Wecke mich um.* ([0-2]?[0-9]).*.* uhr ([0-9]\d)?\s?\s?(\bcalled|named|labeled\b)?\s?(([a-z0-9]{1,7}\s)?([a-z0-9]{1,7})\s?([a-z0-9]{1,7}))?'
}
}
@register("de-DE", res['setAlarm']['de-DE'])
def setAlarm(self, speech, language):
alarmString = re.match(alarmPlugin.res['setAlarm'][language], speech, re.IGNORECASE)
alarmHour = int(alarmString.group(1))
alarm24Hour = alarmHour
alarmMinutes = alarmString.group(2)
alarmAMPM = alarmString.group(3)
alarmLabelExists = alarmString.group(4)
#check if we are naming the alarm
if alarmLabelExists == None:
alarmLabel = None
else:
alarmLabel = alarmString.group(5)
if alarmMinutes == None:
alarmMinutes = "00"
else:
alarmMinutes = int(alarmMinutes.strip())
view = AddViews(self.refId, dialogPhase="Reflection")
view.views = [
AssistantUtteranceView(
speakableText=alarmPlugin.localizations['Alarm']['settingAlarm'][language],
dialogIdentifier="Alarm#settingAlarm")]
self.sendRequestWithoutAnswer(view)
#create the alarm
alarm = AlarmObject(alarmLabel, int(alarmMinutes), alarm24Hour, None, 1)
response = self.getResponseForRequest(AlarmCreate(self.refId, alarm))
print(alarmPlugin.localizations['Alarm']['alarmWasSet'][language].format(alarmHour, alarmMinutes, alarmAMPM))
view = AddViews(self.refId, dialogPhase="Completion")
if alarmLabel == None:
view1 = AssistantUtteranceView(speakableText=alarmPlugin.localizations['Alarm']['alarmWasSet'][language].format(alarmHour, alarmMinutes, alarmAMPM), dialogIdentifier="Alarm#alarmWasSet")
else:
view1 = AssistantUtteranceView(speakableText=alarmPlugin.localizations['Alarm']['alarmSetWithLabel'][language].format(alarmLabelExists, alarmLabel, alarmHour, alarmMinutes, alarmAMPM), dialogIdentifier="Alarm#alarmSetWithLabel")
view2 = AlarmSnippet(alarms=[alarm])
view.views = [view1, view2]
self.sendRequestWithoutAnswer(view)
self.complete_request()
Danke im Vorraus.