Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_execute_ng_invalid_extension(self):
with pytest.raises(InvalidFormat) as execinfo:
try:
# create test file
os.makedirs(self._data_dir)
excel_file = os.path.join(self._data_dir, "test.xlxs")
open(excel_file, "w").close()
excel_file2 = os.path.join(self._data_dir, "test.xlxs.bk")
open(excel_file2, "w").close()
# set the essential attributes
instance = ExcelConvert()
Helper.set_property(instance, "logger", LisboaLog.get_logger(__name__))
Helper.set_property(instance, "src_dir", self._data_dir)
Helper.set_property(instance, "src_pattern", "test\.xlxs")
Helper.set_property(instance, "dest_dir", self._data_dir)
Helper.set_property(instance, "dest_pattern", "test.xlxs")
instance.execute()
if len(target_files) == 0:
raise InvalidCount(
"An input file %s does not exist."
% os.path.join(self._src_dir, self._src_pattern)
)
elif len(target_files) > 1:
self._logger.error("Hit target files %s" % target_files)
raise InvalidCount("Input files must be only one.")
self._logger.info(
"A target file to be converted: %s" % os.path.join(target_files[0])
)
# convert
_, dest_ext = os.path.splitext(self._dest_pattern)
if dest_ext != ".csv":
raise InvalidFormat(
"%s is not supported format in %s. The supported format is .csv"
% (dest_ext, self._dest_pattern)
)
df = pandas.read_excel(target_files[0], encoding=self._encoding)
dest_path = os.path.join(self._dest_dir, self._dest_pattern)
self._logger.info("Convert %s to %s" % (target_files[0], dest_path))
df.to_csv(dest_path, encoding=self._encoding)
insert_data = {
"column1": [1, 2],
"column2": ["spam", "spam"],
...
}
Args
cache_list: dictionary list of input cache
"""
insert_data = {}
columns = [name_and_type["name"] for name_and_type in self._table_schema]
for c in columns:
v_list = [d.get(c) for d in cache_list]
if not v_list:
raise InvalidFormat(
"Specified column %s does not exist in an input file." % c
)
insert_data[c] = v_list
return insert_data
Format insert data to pass DataFrame as the below.
insert_data = {
"column1": [1, 2],
"column2": ["spam", "spam"],
...
}
Args
insert_rows: dictionary list of input cache
"""
insert_data = {}
for c in self._columns:
v_list = [d.get(c) for d in insert_rows]
if not v_list:
raise InvalidFormat(
"Specified column %s does not exist in an input file." % c
)
insert_data[c] = v_list
return insert_data
Format insert data to pass DataFrame as the below.
insert_data = {
"column1": [1, 2],
"column2": ["spam", "spam"],
...
}
Args
insert_rows: dictionary list of input cache
"""
insert_data = {}
for c in self.__columns:
v_list = [d.get(c) for d in insert_rows]
if not v_list:
raise InvalidFormat(
"Specified column %s does not exist in an input file." % c
)
insert_data[c] = v_list
return insert_data