From d4753faa086e91f75a6c6cbc480fcb85c0fc96dd Mon Sep 17 00:00:00 2001 From: smirgol <14124899+smirgol@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:17:50 +0200 Subject: [PATCH 1/3] allow multiple keywords, separated by colons --- profileexecutor.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/profileexecutor.py b/profileexecutor.py index a70c140..68bc947 100644 --- a/profileexecutor.py +++ b/profileexecutor.py @@ -59,12 +59,10 @@ class ProfileExecutor(threading.Thread): #print ("writing command list") w_commandWordFile = open(self.getSettingsPath('command.list'), 'w') w_commands = self.m_profile['commands'] - i = 0 for w_command in w_commands: - if i != 0: - w_commandWordFile.write('\n') - w_commandWordFile.write(w_command['name'].lower() + ' /1e-%d/' % w_command['threshold']) - i = i + 1 + parts = w_command['name'].split(',') + for part in parts: + w_commandWordFile.write(part.lower() + ' /1e-%d/' % w_command['threshold'] + '\n') w_commandWordFile.close() self.m_config.set_string('-kws', self.getSettingsPath('command.list')) # load new command list into decoder and restart it @@ -213,9 +211,18 @@ class ProfileExecutor(threading.Thread): w_commands = self.m_profile['commands'] flag = False for w_command in w_commands: - if w_command['name'].lower() == p_cmdName: - flag = True - break + parts = [] + if w_command['name'].find(',') != -1: + parts = w_command['name'].split(',') + else: + parts.append(w_command['name']) + + for part in parts: + if part.lower() == p_cmdName: + print(part) + flag = True + break + if flag == False: return From 13a64acfbd9f0b84fc64ab2dbc04684fe0342287 Mon Sep 17 00:00:00 2001 From: smirgol <14124899+smirgol@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:28:57 +0200 Subject: [PATCH 2/3] simplify command splitting --- profileexecutor.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/profileexecutor.py b/profileexecutor.py index 68bc947..650ce37 100644 --- a/profileexecutor.py +++ b/profileexecutor.py @@ -211,11 +211,7 @@ class ProfileExecutor(threading.Thread): w_commands = self.m_profile['commands'] flag = False for w_command in w_commands: - parts = [] - if w_command['name'].find(',') != -1: - parts = w_command['name'].split(',') - else: - parts.append(w_command['name']) + parts = w_command['name'].split(',') for part in parts: if part.lower() == p_cmdName: From 0c55738998ef4ff3089743a138730e20872c5c9a Mon Sep 17 00:00:00 2001 From: smirgol <14124899+smirgol@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:40:43 +0200 Subject: [PATCH 3/3] fix error with breaking outer for loop --- profileexecutor.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/profileexecutor.py b/profileexecutor.py index 650ce37..a685806 100644 --- a/profileexecutor.py +++ b/profileexecutor.py @@ -212,12 +212,12 @@ class ProfileExecutor(threading.Thread): flag = False for w_command in w_commands: parts = w_command['name'].split(',') - for part in parts: if part.lower() == p_cmdName: - print(part) flag = True break + if flag == True: + break if flag == False: return