mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-17 15:03:02 +00:00
add extensible get_env
hook on Spawner
to make it easier for subclasses to modify the env
This commit is contained in:
@@ -183,6 +183,14 @@ class Spawner(LoggingConfigurable):
|
||||
"""
|
||||
self.api_token = ''
|
||||
|
||||
def get_env(self):
|
||||
"""Return the environment we should use
|
||||
|
||||
Default returns a copy of self.env.
|
||||
Use this to access the env in Spawner.start to allow extension in subclasses.
|
||||
"""
|
||||
return self.env.copy()
|
||||
|
||||
def get_args(self):
|
||||
"""Return the arguments to be passed after self.cmd"""
|
||||
args = [
|
||||
@@ -376,9 +384,11 @@ class LocalProcessSpawner(Spawner):
|
||||
env['SHELL'] = shell
|
||||
return env
|
||||
|
||||
def _env_default(self):
|
||||
env = super()._env_default()
|
||||
return self.user_env(env)
|
||||
def get_env(self):
|
||||
"""Add user environment variables"""
|
||||
env = super().get_env()
|
||||
env = self.user_env(env)
|
||||
return env
|
||||
|
||||
@gen.coroutine
|
||||
def start(self):
|
||||
@@ -387,7 +397,7 @@ class LocalProcessSpawner(Spawner):
|
||||
self.user.server.ip = self.ip
|
||||
self.user.server.port = random_port()
|
||||
cmd = []
|
||||
env = self.env.copy()
|
||||
env = self.get_env()
|
||||
|
||||
cmd.extend(self.cmd)
|
||||
cmd.extend(self.get_args())
|
||||
|
Reference in New Issue
Block a user