From 11cdc721843284017091dc88054cda97d9b5efe6 Mon Sep 17 00:00:00 2001
From: Wolfgange3311999 <matthew3311999@gmail.com>
Date: Fri, 15 Jul 2016 11:40:54 -0500
Subject: [PATCH] Temp dict files now have generated names in /tmp/ This
 prevent permission errors associated with storing things in the /tmp/mycroft
 directory and with reusing files.

---
 mycroft/client/speech/local_recognizer.py | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/mycroft/client/speech/local_recognizer.py b/mycroft/client/speech/local_recognizer.py
index 56d347c039..f80d0ecacf 100644
--- a/mycroft/client/speech/local_recognizer.py
+++ b/mycroft/client/speech/local_recognizer.py
@@ -39,13 +39,10 @@ class LocalRecognizer(object):
         self.decoder = Decoder(self.create_config(dict_name))
 
     def create_dict(self, key_phrase, phonemes):
-        folder = os.path.join(tempfile.gettempdir(), 'mycroft')
-        if not os.path.exists(folder):
-            os.makedirs(folder)
-        file_name = os.path.join(folder, key_phrase + ".dict")
+        (fd, file_name) = tempfile.mkstemp()
         words = key_phrase.split()
         phoneme_groups = phonemes.split('.')
-        with open(file_name, 'w') as f:
+        with os.fdopen(fd, 'w') as f:
             for word, phoneme in zip(words, phoneme_groups):
                 f.write(word + ' ' + phoneme + '\n')
         return file_name