Skip to content

Commit 2c5c0a5

Browse files
committed
Support named servers
1 parent 58a02af commit 2c5c0a5

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

batchspawner/api.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,14 @@ def post(self):
1313
# Previous jupyterhub, 0.9.4 and before.
1414
user = self.get_current_user()
1515
data = self.get_json_body()
16+
if self.allow_named_servers:
17+
server_name = data.pop("server_name", "")
18+
spawner = user.spawners[server_name]
19+
else:
20+
spawner = user.spawner
1621
for key, value in data.items():
17-
if hasattr(user.spawner, key):
18-
setattr(user.spawner, key, value)
22+
if hasattr(spawner, key):
23+
setattr(spawner, key, value)
1924
self.finish(json.dumps({"message": "BatchSpawner data configured"}))
2025
self.set_status(201)
2126

batchspawner/singleuser.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,19 @@
88
from jupyterhub.services.auth import HubAuth
99

1010
def main(argv=None):
11+
server_name = os.environ.get('JUPYTERHUB_SERVER_NAME', '')
1112
port = random_port()
1213
hub_auth = HubAuth()
1314
hub_auth.client_ca = os.environ.get('JUPYTERHUB_SSL_CLIENT_CA', '')
1415
hub_auth.certfile = os.environ.get('JUPYTERHUB_SSL_CERTFILE', '')
1516
hub_auth.keyfile = os.environ.get('JUPYTERHUB_SSL_KEYFILE', '')
1617
hub_auth._api_request(method='POST',
1718
url=url_path_join(hub_auth.api_url, 'batchspawner'),
18-
json={'port' : port})
19+
json={'server_name': server_name, 'port' : port})
1920

2021
cmd_path = which(sys.argv[1])
2122
sys.argv = sys.argv[1:] + ['--port={}'.format(port)]
2223
run_path(cmd_path, run_name="__main__")
2324

2425
if __name__ == "__main__":
25-
main()
26+
main()

0 commit comments

Comments
 (0)