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