forked from bokeh/bokeh
-
Notifications
You must be signed in to change notification settings - Fork 11
/
settings.py
95 lines (74 loc) · 2.72 KB
/
settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
from os.path import join, dirname, abspath
import os
class Settings(object):
_prefix = "BOKEH_"
debugjs = False
@property
def _environ(self):
return os.environ
def _get_str(self, key, default):
return self._environ.get(self._prefix + key, default)
def _get_bool(self, key, default):
value = self._environ.get(self._prefix + key)
if value is None:
value = default
elif value.lower() in ["true", "yes", "on", "1"]:
value = True
elif value.lower() in ["false", "no", "off", "0"]:
value = False
else:
raise ValueError("invalid value %r for boolean property %s%s" % (value, self._prefix, key))
return value
def browser(self, default=None):
return self._get_str("BROWSER", default)
def resources(self, default=None):
return self._get_str("RESOURCES", default)
def rootdir(self, default=None):
return self._get_str("ROOTDIR", default)
def version(self, default=None):
return self._get_str("VERSION", default)
def minified(self, default=None):
return self._get_bool("MINIFIED", default)
def log_level(self, default=None):
return self._get_str("LOG_LEVEL", default)
def pretty(self, default=None):
return self._get_bool("PRETTY", default)
def pythonlib(self, default=None):
return self._get_str("PYTHONLIB", default)
def simple_ids(self, default=None):
return self._get_bool("SIMPLE_IDS", default)
"""
Server settings go here:
"""
def serverdir(self):
return join(dirname(abspath(__file__)), 'server')
def bokehjssrcdir(self):
if self.debugjs:
basedir = dirname(dirname(self.serverdir()))
return join(basedir, 'bokehjs', 'src')
else:
return None
def bokehjsdir(self):
if self.debugjs:
basedir = dirname(dirname(self.serverdir()))
return join(basedir, 'bokehjs', 'build')
else:
return join(self.serverdir(), 'static')
def js_files(self):
bokehjsdir = self.bokehjsdir()
js_files = []
for root, dirnames, files in os.walk(bokehjsdir):
for fname in files:
if fname.endswith(".js") and 'vendor' not in root:
js_files.append(join(root, fname))
return js_files
def css_files(self):
bokehjsdir = self.bokehjsdir()
js_files = []
for root, dirnames, files in os.walk(bokehjsdir):
for fname in files:
if fname.endswith(".css") and 'vendor' not in root:
js_files.append(join(root, fname))
return js_files
settings = Settings()
del Settings