#Script generated by Orange3
def add_origin(examples, filename):
"""Adds attribute with file location to each variable"""
vars = examples.domain.variables + examples.domain.metas
strings = [var for var in vars if var.is_string]
dir_name, basename = os.path.split(filename)
for var in strings:
if "type" in var.attributes and "origin" not in var.attributes:
var.attributes["origin"] = dir_name
class unnamed_widget():
__init__(self):
self.recent_paths = Setting([
RecentPath("", "sample-datasets", "iris.tab"),
RecentPath("", "sample-datasets", "titanic.tab"),
RecentPath("", "sample-datasets", "housing.tab"),
])
self.source = Setting(self.LOCAL_FILE)
self.url_text = ""
self.LOCAL_FILE = 0
self.sheet_text = ""
def _get_reader(self):
"""
Returns
-------
FileFormat
"""
if self.source == self.LOCAL_FILE:
reader = FileFormat.get_reader(self.last_path())
if self.recent_paths and self.recent_paths[0].sheet:
reader.select_sheet(self.recent_paths[0].sheet)
return reader
elif self.source == self.URL:
return UrlReader(self.url_combo.currentText())
def load_data(self):
self.reader = self._get_reader()
self._update_sheet_combo()
errors = []
with catch_warnings(record=True) as warnings:
try:
data = self.reader.read()
except Exception as ex:
errors.append("An error occured:")
errors.append(str(ex))
data = None
self.editor_model.reset()
self.warning(
33, warnings[-1].message.args[0] if warnings else '')
if data is None:
self.send("Data", None)
self.info.setText("\n".join(errors))
return
self.info.setText(self._describe(data))
add_origin(data, self.loaded_file)
self.send("Data", data)
self.editor_model.set_domain(data.domain)
self.data = data
def select_sheet(self):
self.recent_paths[0].sheet = self.sheet_combo.currentText()
self.load_data()
class unnamed_widget():
__init__(self):
pass
def add_origin(examples, filename):
"""Adds attribute with file location to each variable"""
vars = examples.domain.variables + examples.domain.metas
strings = [var for var in vars if var.is_string]
dir_name, basename = os.path.split(filename)
for var in strings:
if "type" in var.attributes and "origin" not in var.attributes:
var.attributes["origin"] = dir_name
class unnamed_widget():
__init__(self):
self.recent_paths = Setting([
RecentPath("", "sample-datasets", "iris.tab"),
RecentPath("", "sample-datasets", "titanic.tab"),
RecentPath("", "sample-datasets", "housing.tab"),
])
self.source = Setting(self.LOCAL_FILE)
self.url_text = ""
self.LOCAL_FILE = 0
self.sheet_text = ""
def _get_reader(self):
"""
Returns
-------
FileFormat
"""
if self.source == self.LOCAL_FILE:
reader = FileFormat.get_reader(self.last_path())
if self.recent_paths and self.recent_paths[0].sheet:
reader.select_sheet(self.recent_paths[0].sheet)
return reader
elif self.source == self.URL:
return UrlReader(self.url_combo.currentText())
def load_data(self):
self.reader = self._get_reader()
self._update_sheet_combo()
errors = []
with catch_warnings(record=True) as warnings:
try:
data = self.reader.read()
except Exception as ex:
errors.append("An error occured:")
errors.append(str(ex))
data = None
self.editor_model.reset()
self.warning(
33, warnings[-1].message.args[0] if warnings else '')
if data is None:
self.send("Data", None)
self.info.setText("\n".join(errors))
return
self.info.setText(self._describe(data))
add_origin(data, self.loaded_file)
self.send("Data", data)
self.editor_model.set_domain(data.domain)
self.data = data
def select_sheet(self):
self.recent_paths[0].sheet = self.sheet_combo.currentText()
self.load_data()
class unnamed_widget():
__init__(self):
pass
class unnamed_widget():
__init__(self):
pass
class unnamed_widget():
__init__(self):
pass