Итак, после небольшого копания, для дальнейшего ознакомления с другими, вот что произошло.
Я обнаружил, что очень умный человек, который написал колбу-аск, уже проделал всю тяжелую работу.
Если вы передаете длительность типа слота из Alexa, вы можете использовать опцию 'timedelta' для ее преобразования: например:
@ask.intent("DurationIntent",convert={'dduration': 'timedelta'})
def duration(dduration):
print dduration
try:
totalmins = dduration.total_seconds()/60
except:
print "oh no"
write_log ('Alexa bad duration', str(dduration))
return statement('the duration you provided could not be determined please speak more proper - check the log for details')
print totalmins
return statement('that is ' + str(int(totalmins)) + 'minutes')
.,,(write_log - это моя собственная функция, поэтому я могу отслеживать любые ошибки и настраивать намерения и высказывания, чтобы быть более гибкими)
"Alexa ask convert - сколько минут составляет 4 дня и 7 часов и 22 минуты"
она отвечает ......
"Это 6202 минуты"
Кажется, это не работает 100% времени при комбинации лет и недель ичасов, но это более чем достаточно для меня, чтобы увеличить некоторые зоны домашней автоматизации .... так что теперь я заменю свои типы слотов int на "duration", и все это гораздо более гибко ... спасибо, г-н flask-ask
ура