test.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # -*- coding: utf-8 -*-
  2. import os
  3. import re
  4. import logging
  5. # user_said = "maman je voudrais ecouter ACDC"
  6. # order = "je voudrais ecouter {{ artist_name }}"
  7. user_said = "s'il te plait regle le reveil pour sept heures et dix minutes"
  8. order = "regle le reveil pour {{ hour }} heures et {{ minute }} minutes"
  9. # take a look to each order
  10. def _is_containing_bracket(sentence):
  11. # print "sentence to test %s" % sentence
  12. pattern = r"{{|}}"
  13. # prog = re.compile(pattern)
  14. bool = re.search(pattern, sentence)
  15. if bool is not None:
  16. return True
  17. return False
  18. # check if the order contain bracket
  19. if _is_containing_bracket(order):
  20. # remove white space between {{ and }}
  21. # get a table of word said
  22. list_word_in_order = order.replace("{{ ","{{").replace(" }}", "}}").split()
  23. print "order matched: %s" % list_word_in_order
  24. # get the order, defined by the first words before {{
  25. the_order = order[:order.find('{{')]
  26. print "the order catched %s" % the_order
  27. # remove sentence before order
  28. nb = user_said[user_said.find(the_order):]
  29. truncate_list_word_said = nb.split()
  30. print "truncate_list_word_said : %s" % truncate_list_word_said
  31. # make dict var:value
  32. dictVar = {}
  33. for idx, ow in enumerate(list_word_in_order):
  34. if _is_containing_bracket(ow):
  35. # remove bracket et key dict
  36. oo = ow.replace("{{","").replace("}}", "")
  37. dictVar[oo] = truncate_list_word_said[idx]
  38. print "The dict Var : %s" % dictVar
  39. # return the beginning of the sentence before first bracket
  40. # return
  41. # split each word
  42. #