Add notebook directory configuration
This commit is contained in:
parent
c67e8742c8
commit
dc750031db
2 changed files with 23 additions and 1 deletions
|
@ -4,7 +4,7 @@ import asyncio
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from batchspawner import JobStatus, SlurmSpawner
|
from batchspawner import JobStatus, SlurmSpawner
|
||||||
from traitlets import Integer, Unicode, default
|
from traitlets import Bool, Integer, Unicode, default
|
||||||
|
|
||||||
from .form import options_form, options_from_form
|
from .form import options_form, options_from_form
|
||||||
from .progress import ElapseTime, get_progress
|
from .progress import ElapseTime, get_progress
|
||||||
|
@ -13,6 +13,21 @@ from .progress import ElapseTime, get_progress
|
||||||
class GlicidSpawner(SlurmSpawner):
|
class GlicidSpawner(SlurmSpawner):
|
||||||
"""Glicid SLURM Spawner."""
|
"""Glicid SLURM Spawner."""
|
||||||
|
|
||||||
|
disable_user_config = Bool(
|
||||||
|
True,
|
||||||
|
help='Disable per-user configuration of single-user servers.',
|
||||||
|
).tag(config=True)
|
||||||
|
|
||||||
|
notebook_dir = Unicode(
|
||||||
|
'/',
|
||||||
|
help='Path to the notebook directory for the single-user server.',
|
||||||
|
).tag(config=True)
|
||||||
|
|
||||||
|
@default('default_url')
|
||||||
|
def _default_url_default(self) -> str:
|
||||||
|
"""The URL the single-user server should start in."""
|
||||||
|
return '/tree' + self.user_options.get('workdir', '/home/{username}')
|
||||||
|
|
||||||
batchspawner_singleuser_cmd = Unicode(
|
batchspawner_singleuser_cmd = Unicode(
|
||||||
'glicid-spawner-singleuser',
|
'glicid-spawner-singleuser',
|
||||||
help='Spawner singleuser command.',
|
help='Spawner singleuser command.',
|
||||||
|
|
|
@ -21,6 +21,9 @@ def test_spawner_config():
|
||||||
|
|
||||||
assert spawner.batchspawner_singleuser_cmd == 'glicid-spawner-singleuser'
|
assert spawner.batchspawner_singleuser_cmd == 'glicid-spawner-singleuser'
|
||||||
|
|
||||||
|
assert spawner.disable_user_config
|
||||||
|
assert spawner.notebook_dir == '/'
|
||||||
|
assert spawner.default_url == '/tree/home/{username}'
|
||||||
assert spawner.req_job_name == 'jupyterhub_glicid'
|
assert spawner.req_job_name == 'jupyterhub_glicid'
|
||||||
assert spawner.req_qos == 'short'
|
assert spawner.req_qos == 'short'
|
||||||
assert spawner.progress_rate == 10
|
assert spawner.progress_rate == 10
|
||||||
|
@ -53,6 +56,10 @@ def test_spawner_options_form(monkeypatch):
|
||||||
assert spawner.options_form == "options_form('john-doe')"
|
assert spawner.options_form == "options_form('john-doe')"
|
||||||
assert spawner.options_from_form({'foo': 123}) == "options_from_form({'foo': 123})"
|
assert spawner.options_from_form({'foo': 123}) == "options_from_form({'foo': 123})"
|
||||||
|
|
||||||
|
spawner = GlicidSpawner(user_options={'workdir': '/LAB-DATA'})
|
||||||
|
|
||||||
|
assert spawner.default_url == '/tree/LAB-DATA'
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_spawner_progress(monkeypatch):
|
async def test_spawner_progress(monkeypatch):
|
||||||
|
|
Loading…
Add table
Reference in a new issue