1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # -*- coding: utf-8 -*-
- import os
- import re
- import logging
- # user_said = "maman je voudrais ecouter ACDC"
- # order = "je voudrais ecouter {{ artist_name }}"
- user_said = "s'il te plait regle le reveil pour sept heures et dix minutes"
- order = "regle le reveil pour {{ hour }} heures et {{ minute }} minutes"
- # take a look to each order
- def _is_containing_bracket(sentence):
- # print "sentence to test %s" % sentence
- pattern = r"{{|}}"
- # prog = re.compile(pattern)
- bool = re.search(pattern, sentence)
- if bool is not None:
- return True
- return False
- # check if the order contain bracket
- if _is_containing_bracket(order):
- # remove white space between {{ and }}
- # get a table of word said
- list_word_in_order = order.replace("{{ ","{{").replace(" }}", "}}").split()
- print "order matched: %s" % list_word_in_order
- # get the order, defined by the first words before {{
- the_order = order[:order.find('{{')]
- print "the order catched %s" % the_order
- # remove sentence before order
- nb = user_said[user_said.find(the_order):]
- truncate_list_word_said = nb.split()
- print "truncate_list_word_said : %s" % truncate_list_word_said
- # make dict var:value
- dictVar = {}
- for idx, ow in enumerate(list_word_in_order):
- if _is_containing_bracket(ow):
- # remove bracket et key dict
- oo = ow.replace("{{","").replace("}}", "")
- dictVar[oo] = truncate_list_word_said[idx]
- print "The dict Var : %s" % dictVar
- # return the beginning of the sentence before first bracket
- # return
- # split each word
- #
|