Merge pull request #2 from Mte90/improvements

Use profile folder for settings
This commit is contained in:
Aidan Gustard 2019-06-01 17:48:17 +01:00 committed by GitHub
commit 60b143be88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 26 additions and 16 deletions

View File

@ -6,7 +6,6 @@ from keyactioneditwnd import KeyActionEditWnd
from mouseactioneditwnd import MouseActionEditWnd
from pauseactioneditwnd import PauseActionEditWnd
import json
import keyboard
class CommandEditWnd(QDialog):
def __init__(self, p_command, p_parent = None):

View File

@ -2,9 +2,7 @@ from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from ui_keyactioneditwnd import Ui_KeyActionEditDialog
import json
import keyboard
import time
import threading
class KeyActionEditWnd(QDialog):

18
main.py
View File

@ -8,10 +8,9 @@ import json
from profileexecutor import ProfileExecutor
import sys
import pickle
import time
import keyboard
import threading
import signal
import os
import shutil
class MainWnd(QWidget):
def __init__(self, p_parent = None):
@ -48,12 +47,12 @@ class MainWnd(QWidget):
w_profile = json.loads(w_jsonProfile)
w_profiles.append(w_profile)
with open("profiles.dat", "wb") as f:
with open(self.getSettingsPath("profiles.dat"), "wb") as f:
pickle.dump(w_profiles, f, pickle.HIGHEST_PROTOCOL)
def loadFromDatabase(self):
w_profiles = []
with open("profiles.dat", "rb") as f:
with open(self.getSettingsPath("profiles.dat"), "rb") as f:
w_profiles = pickle.load(f)
for w_profile in w_profiles:
@ -63,6 +62,15 @@ class MainWnd(QWidget):
return len(w_profiles)
def getSettingsPath(self, setting):
home = os.path.expanduser("~") + '/.linvam/'
if not os.path.exists(home):
os.mkdir(home)
if not os.path.exists(home + setting):
shutil.copyfile(setting, home + setting)
return home + setting
def loadTestProfiles(self):
w_carProfileDict = {

View File

@ -2,7 +2,6 @@ from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from ui_mouseactioneditwnd import Ui_MouseActionEditDialog
import json
class MouseActionEditWnd(QDialog):

View File

@ -2,7 +2,6 @@ from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from ui_pauseactioneditwnd import Ui_PauseActionEditDialog
import json
class PauseActionEditWnd(QDialog):
def __init__(self, p_pauseAction, p_parent = None):

View File

@ -5,7 +5,6 @@ from ui_profileeditwnd import Ui_ProfileEditDialog
from commandeditwnd import CommandEditWnd
import json
from profileexecutor import *
import sys
class ProfileEditWnd(QDialog):
def __init__(self, p_profile, p_parent = None):

View File

@ -2,9 +2,8 @@ import keyboard
from pynput.mouse import Button, Controller
import time
import threading
import copy
import json
import sys, os, pyaudio
import os, pyaudio
import shutil
from pocketsphinx.pocketsphinx import *
from sphinxbase.sphinxbase import *
@ -30,12 +29,21 @@ class ProfileExecutor(threading.Thread):
# Process audio chunk by chunk. On keyword detected perform action and restart search
self.m_decoder = Decoder(self.m_config)
def getSettingsPath(self, setting):
home = os.path.expanduser("~") + '/.linvam/'
if not os.path.exists(home):
os.mkdir(home)
if not os.path.exists(home + setting):
shutil.copyfile(setting, home + setting)
return home + setting
def setProfile(self, p_profile):
self.m_profile = p_profile
if self.m_profile == None:
return
w_commandWordFile = open('command.list', 'w')
w_commandWordFile = open(self.getSettingsPath('command.list'), 'w')
w_commands = self.m_profile['commands']
i = 0
for w_command in w_commands:
@ -44,7 +52,7 @@ class ProfileExecutor(threading.Thread):
w_commandWordFile.write(w_command['name'] + ' /1e-%d/' % w_command['threshold'])
i = i + 1
w_commandWordFile.close()
self.m_config.set_string('-kws', 'command.list')
self.m_config.set_string('-kws', self.getSettingsPath('command.list'))
def setEnableListening(self, p_enable):
self.m_listening = p_enable