mirror of
https://github.com/aidygus/LinVAM.git
synced 2024-11-23 09:18:04 +11:00
Merge pull request #2 from Mte90/improvements
Use profile folder for settings
This commit is contained in:
commit
60b143be88
@ -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):
|
||||
|
@ -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
18
main.py
@ -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 = {
|
||||
|
@ -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):
|
||||
|
@ -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):
|
||||
|
@ -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):
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user