summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/brain.py3
-rwxr-xr-xclient/diagnose.py7
-rw-r--r--client/jasperpath.py18
3 files changed, 22 insertions, 6 deletions
diff --git a/client/brain.py b/client/brain.py
index 039b1db..a1fdea4 100644
--- a/client/brain.py
+++ b/client/brain.py
@@ -3,6 +3,7 @@ import logging
import os
import pkgutil
import importlib
+import jasperpath
def logError():
@@ -41,7 +42,7 @@ class Brain(object):
module, a priority of 0 is assumed.
"""
- module_locations = [os.path.join(os.path.dirname(__file__), 'modules')]
+ module_locations = [jasperpath.PLUGIN_PATH]
module_names = [name for loader, name, ispkg in pkgutil.iter_modules(module_locations)]
modules = []
for name in module_names:
diff --git a/client/diagnose.py b/client/diagnose.py
index 415eb6e..28cd9c8 100755
--- a/client/diagnose.py
+++ b/client/diagnose.py
@@ -4,7 +4,7 @@ import re
import socket
import os
from subprocess import check_output, call
-
+import jasperpath
class Diagnostics:
@@ -15,9 +15,6 @@ class Diagnostics:
To add new checks, add a boolean returning method with a name that starts
with `check_`
"""
- @classmethod
- def jasper_modules_path(cls):
- return os.path.abspath('../../')
@classmethod
def check_network_connection(cls):
@@ -35,7 +32,7 @@ class Diagnostics:
@classmethod
def check_phonetisaurus_dictionary_file(cls):
- return os.path.isfile(os.path.join(cls.jasper_modules_path(), "phonetisaurus/g014b2b.fst"))
+ return os.path.isfile(os.path.join(jasperpath.APP_PATH, "..", "phonetisaurus/g014b2b.fst"))
@classmethod
def check_phonetisaurus_program(cls):
diff --git a/client/jasperpath.py b/client/jasperpath.py
new file mode 100644
index 0000000..fdc1494
--- /dev/null
+++ b/client/jasperpath.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8-*-
+import os
+
+# Jasper main directory
+APP_PATH = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir))
+
+DATA_PATH = os.path.join(APP_PATH, "static")
+LIB_PATH = os.path.join(APP_PATH, "client")
+PLUGIN_PATH = os.path.join(LIB_PATH, "modules")
+
+CONFIG_PATH = os.path.expanduser(os.getenv('JASPER_CONFIG', '~/.jasper'))
+
+def config(*fname):
+ return os.path.join(CONFIG_PATH, *fname)
+
+def data(*fname):
+ return os.path.join(DATA_PATH, *fname)