File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed
Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -470,6 +470,10 @@ def _get_reader(self) -> FileFormat:
470470 return reader
471471 else :
472472 url = self .url_combo .currentText ().strip ()
473+ # tolerant parse, also prevent parsing as local file
474+ parsed = QUrl .fromUserInput (url , os .devnull )
475+ if parsed .isValid ():
476+ url = bytes (parsed .toEncoded ()).decode ("ascii" )
473477 return UrlReader (url )
474478
475479 def _update_sheet_combo (self ):
Original file line number Diff line number Diff line change @@ -577,6 +577,16 @@ def test_url_no_scheme(self):
577577
578578 mock_urlreader .assert_called_once_with ('http://' + url )
579579
580+ def test_url_encode (self ):
581+ mock_urlreader = Mock (side_effect = ValueError ())
582+ urltext = 'https://example.com/space space#f=f'
583+
584+ with patch ('Orange.widgets.data.owfile.UrlReader' , mock_urlreader ):
585+ self .widget .url_combo .insertItem (0 , urltext )
586+ self .widget .url_combo .activated .emit (0 )
587+
588+ mock_urlreader .assert_called_once_with ('https://example.com/space%20space#f=f' )
589+
580590 def test_adds_origin (self ):
581591 self .open_dataset ("origin1/images" )
582592 data1 = self .get_output (self .widget .Outputs .data )
You can’t perform that action at this time.
0 commit comments