Skip to content

Commit 6cc92ba

Browse files
committed
build exec conditional
1 parent 67e6f42 commit 6cc92ba

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

myst_libre/builders/myst_builder.py

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,33 @@
22
from myst_libre.abstract_class import AbstractClass
33

44
class MystBuilder(AbstractClass):
5-
def __init__(self, hub):
6-
if not isinstance(hub, JupyterHubLocalSpawner):
7-
raise TypeError(f"Expected 'hub' to be an instance of JupyterHubLocalSpawner, got {type(hub).__name__} instead")
5+
def __init__(self, hub=None, build_dir=None):
6+
if hub is not None:
7+
if not isinstance(hub, JupyterHubLocalSpawner):
8+
raise TypeError(f"Expected 'hub' to be an instance of JupyterHubLocalSpawner, got {type(hub).__name__} instead")
9+
self.hub = hub
10+
self.env_vars = {
11+
"JUPYTER_BASE_URL": f"{self.hub.jh_url}",
12+
"JUPYTER_TOKEN": f"{self.hub.jh_token}",
13+
"port": f"{self.hub.port}"
14+
}
15+
self.build_dir = self.hub.rees.build_dir
16+
else:
17+
if build_dir is None:
18+
raise ValueError("If 'hub' is None, 'build_dir' must be provided")
19+
self.build_dir = build_dir
20+
self.env_vars = {}
21+
self.hub = None
22+
823
super().__init__()
9-
self.env_vars = {}
10-
self.build_dir = ""
11-
self.hub = hub
12-
self.env_vars = {"JUPYTER_BASE_URL":f"{self.hub.jh_url}",
13-
"JUPYTER_TOKEN":f"{self.hub.jh_token}",
14-
"port":f"{self.hub.port}"
15-
}
16-
self.myst_client = MystMD(hub.rees.build_dir, self.env_vars)
24+
self.myst_client = MystMD(self.build_dir, self.env_vars)
1725

1826
def setenv(self,key,value):
1927
self.env_vars[key] = value
2028

2129
def build(self,*args):
22-
self.cprint(f'Starting MyST build {self.hub.jh_url}','yellow')
30+
if self.hub is not None:
31+
self.cprint(f'Starting MyST build {self.hub.jh_url}','yellow')
32+
else:
33+
self.cprint(f'Starting MyST build no exec.','yellow')
2334
self.myst_client.build('build',*args)

0 commit comments

Comments
 (0)