# -*- 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
#