Skip to content

Commit

Permalink
Merge pull request #525 from akhmerov/issue-524
Browse files Browse the repository at this point in the history
Convert options_from_form into traitlet
  • Loading branch information
minrk authored Feb 12, 2025
2 parents 29691af + dc96700 commit 1a65caa
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
16 changes: 10 additions & 6 deletions dockerspawner/dockerspawner.py
Original file line number Diff line number Diff line change
Expand Up @@ -330,12 +330,16 @@ def _default_options_form(self):
options=options
)

def options_from_form(self, formdata):
"""Turn options formdata into user_options"""
options = {}
if 'image' in formdata:
options['image'] = formdata['image'][0]
return options
@default("options_from_form")
def _default_options_from_form(self):
def options_from_form(formdata):
"""Turn options formdata into user_options"""
options = {}
if 'image' in formdata:
options['image'] = formdata['image'][0]
return options

return options_from_form

pull_policy = CaselessStrEnum(
["always", "ifnotpresent", "never", "skip"],
Expand Down
6 changes: 6 additions & 0 deletions tests/test_dockerspawner.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from jupyterhub.tests.test_api import add_user, api_request
from jupyterhub.utils import url_path_join
from tornado.httpclient import AsyncHTTPClient
from traitlets.config import Config

from dockerspawner import DockerSpawner

Expand Down Expand Up @@ -410,6 +411,11 @@ def test_options_from_form():
formdata = {'image': ['1.0', '1.1']}
assert spawner.options_from_form(formdata) == {'image': '1.0'}

config = Config()
config.DockerSpawner.options_from_form = lambda formdata: {"ok": True}
spawner = DockerSpawner(config=config)
assert spawner.options_from_form(formdata) == {"ok": True}


@pytest.mark.parametrize("escape_type", ("legacy", escape))
def test_validate_escape(escape_type):
Expand Down

0 comments on commit 1a65caa

Please sign in to comment.