Skip to content

Commit

Permalink
Merge pull request #201 from Carreau/add-stream-parameter-to-getpass
Browse files Browse the repository at this point in the history
Add stream parameter to getpass
  • Loading branch information
takluyver authored Nov 3, 2016
2 parents dc48ddd + 4be0a55 commit 5b716cc
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
8 changes: 8 additions & 0 deletions ipykernel/inprocess/tests/test_kernel.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,11 @@ def test_stdout(self):
kc.execute('print("bar")')
out, err = assemble_output(kc.iopub_channel)
self.assertEqual(out, 'bar\n')

def test_getpass_stream(self):
"Tests that kernel getpass accept the stream parameter"
kernel = InProcessKernel()
kernel._allow_stdin = True
kernel._input_request = lambda *args, **kwargs : None

kernel.getpass(stream='non empty')
6 changes: 5 additions & 1 deletion ipykernel/kernelbase.py
Original file line number Diff line number Diff line change
Expand Up @@ -656,7 +656,7 @@ def _no_raw_input(self):
raise StdinNotImplementedError("raw_input was called, but this "
"frontend does not support stdin.")

def getpass(self, prompt=''):
def getpass(self, prompt='', stream=None):
"""Forward getpass to frontends
Raises
Expand All @@ -667,6 +667,10 @@ def getpass(self, prompt=''):
raise StdinNotImplementedError(
"getpass was called, but this frontend does not support input requests."
)
if stream is not None:
import warnings
warnings.warn("The `stream` parameter of `getpass.getpass` will have no effect when using ipykernel",
UserWarning, stacklevel=2)
return self._input_request(prompt,
self._parent_ident,
self._parent_header,
Expand Down

0 comments on commit 5b716cc

Please sign in to comment.