Skip to content

Commit 2f55211

Browse files
committed
OWFile: Don't report an error on empty URL
1 parent 2ae604a commit 2f55211

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

Orange/widgets/data/owfile.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,13 @@ def browse_file(self, in_demos=False):
257257

258258
# Open a file, create data from it and send it over the data channel
259259
def load_data(self):
260+
self.editor_model.set_domain(None)
260261
self.reader = self._get_reader()
262+
if not self.reader:
263+
self.data = None
264+
self.send("Data", None)
265+
self.info.setText("No data.")
266+
return
261267
self._update_sheet_combo()
262268

263269
errors = []
@@ -296,7 +302,9 @@ def _get_reader(self):
296302
reader.select_sheet(self.recent_paths[0].sheet)
297303
return reader
298304
elif self.source == self.URL:
299-
return UrlReader(self.url_combo.currentText())
305+
url = self.url_combo.currentText().strip()
306+
if url:
307+
return UrlReader(url)
300308

301309
def _update_sheet_combo(self):
302310
if len(self.reader.sheets) < 2:

Orange/widgets/utils/domaineditor.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,17 @@ def discrete_value_display(value_list):
5555
return result
5656

5757
self.modelAboutToBeReset.emit()
58-
self.variables[:] = self.original = [
59-
[var.name, type(var), place,
60-
discrete_value_display(var.values) if var.is_discrete else "",
61-
may_be_numeric(var)]
62-
for place, vars in enumerate(
63-
(domain.attributes, domain.class_vars, domain.metas))
64-
for var in vars
65-
]
58+
if domain is None:
59+
self.variables.clear()
60+
else:
61+
self.variables[:] = self.original = [
62+
[var.name, type(var), place,
63+
discrete_value_display(var.values) if var.is_discrete else "",
64+
may_be_numeric(var)]
65+
for place, vars in enumerate(
66+
(domain.attributes, domain.class_vars, domain.metas))
67+
for var in vars
68+
]
6669
self.modelReset.emit()
6770

6871
def reset(self):

0 commit comments

Comments
 (0)