#!/usr/bin/python3
import time
import sys
import pynhost
from pynhost import utilities
from pynhost import grammarhandler

def main():
    g = grammarhandler.GrammarHandler()
    g.load_grammars()
    last_action = []
    add_space = False
    while True:
        lines = utilities.get_buffer_lines()
        time.sleep(.2)
        for line in lines:
            result = {'remaining words': line.split(' ')}
            results = []
            last_action = []
            while result['remaining words']:
                remaining_placeholder = result['remaining words']
                result = g.get_matching_rule(result['remaining words'])
                if result['rule'] is not None:
                    print(result)
                    result['rule'].func(result['new words'])
                    last_action.append((result['rule'].func, result['new words']))
                else:
                    utilities.transcribe_line(list(remaining_placeholder[0]),
                        len(remaining_placeholder) != 1)
                    last_action.append(remaining_placeholder[0])
                    result['remaining words'] = remaining_placeholder[1:]

if __name__ == '__main__':
    main()
