Fix #9343: warn when using HTML instead of IFrame#11350
Conversation
| def __init__(self, data=None, url=None, filename=None, metadata=None): | ||
| if data and "<iframe " in data and "</iframe>" in data: | ||
| warnings.warn("Consider using IPython.display.IFrame instead") | ||
| super(HTML, self).__init__(data=data, url=url, filename=filename, metadata=metadata) |
There was a problem hiding this comment.
We're py3 only, so now you can just use super()
| @mock.patch('warnings.warn') | ||
| def test_encourage_iframe_over_html(m_warn): | ||
| display.HTML('<br />') | ||
| m_warn.assert_not_called() |
There was a problem hiding this comment.
Ah I would have use assert_warns, but that looks good !
There was a problem hiding this comment.
Didn’t know about that one, thanks!
There was a problem hiding this comment.
I had a look at the link that you posted, it seems specific to pytest, which IPython doesn't use. Did you mean to send this link? Let me know if I misunderstood something.
There was a problem hiding this comment.
Ah, yes, sorry, and this I just get confused between test runners.
| class HTML(TextDisplayObject): | ||
|
|
||
| def __init__(self, data=None, url=None, filename=None, metadata=None): | ||
| if data and "<iframe " in data and "</iframe>" in data: |
There was a problem hiding this comment.
Wondering if we should use startswith and endswith that are more efficient and likely more correct, but that looks good.
There was a problem hiding this comment.
Yeah, I had the same thought. There’s a difference between rendering a single iframe vs rendering HTML with an iframe in it. Startswith would be a better idea. We could also account for case differences because HTML is case insensitive.
Let me know if you’d like those changes, or if things are fine as they are.
There was a problem hiding this comment.
Up to you. I'll reopen the linked issue add link to this section for further improvements.
|
Thanks ! |
|
Hi everyone, I am having trouble on this , I need to use '<iframe srcdoc =' , any suggestions on how to bypass this warning ? |
No description provided.