Moved ext_to_reader_dict to g5505_file_reader.py and replaced redear selection based on g5505_reader.select_file_reader(hdf5_file_path).

This commit is contained in:
2024-08-07 16:30:36 +02:00
parent 4e669b3eee
commit ae1e3bfc23

View File

@ -9,19 +9,19 @@ import h5py
import logging
#import g5505_file_reader
import src.g5505_utils as utils
#import input_files.config_file as config_file
import src.hdf5_vis as hdf5_vis
import src.g5505_file_reader as g5505f_reader
# Define mapping from extension to their file reader
ext_to_reader_dict = {'.ibw': g5505f_reader.read_xps_ibw_file_as_dict,
'.txt': lambda a1: g5505f_reader.read_txt_files_as_dict(a1,False),
'.TXT': lambda a1: g5505f_reader.read_txt_files_as_dict(a1,False),
'.dat': lambda a1: g5505f_reader.read_txt_files_as_dict(a1,False),
'.h5': lambda a1,a2,a3: g5505f_reader.copy_file_in_group(a1,a2,a3,False)}
def read_mtable_as_dataframe(filename):
@ -307,8 +307,7 @@ def create_hdf5_file_from_filesystem_path(output_filename : str,
Path to the created HDF5 file.
"""
allowed_file_extensions = list(ext_to_reader_dict.keys()) # list(config_file.select_file_readers(group_id).keys())
allowed_file_extensions = g5505f_reader.file_extensions
if '/' in input_file_system_path:
input_file_system_path = input_file_system_path.replace('/',os.sep)
else:
@ -365,19 +364,25 @@ def create_hdf5_file_from_filesystem_path(output_filename : str,
for filenumber, filename in enumerate(filtered_filenames_list):
file_ext = os.path.splitext(filename)[1]
#file_ext = os.path.splitext(filename)[1]
#try:
# hdf5 path to filename group
dest_group_name = f'{group_name}/{filename}'
if not 'h5' in filename:
#file_dict = config_file.select_file_readers(group_id)[file_ext](os.path.join(dirpath,filename))
file_dict = ext_to_reader_dict[file_ext](os.path.join(dirpath,filename))
#file_dict = ext_to_reader_dict[file_ext](os.path.join(dirpath,filename))
file_dict = g5505f_reader.select_file_reader(dest_group_name)(os.path.join(dirpath,filename))
transfer_file_dict_to_hdf5(h5file, group_name, file_dict)
else:
source_file_path = os.path.join(dirpath,filename)
dest_file_obj = h5file
dest_group_name = f'{group_name}/{filename}' #group_name +'/'+filename
ext_to_reader_dict[file_ext](source_file_path, dest_file_obj, dest_group_name)
#group_name +'/'+filename
#ext_to_reader_dict[file_ext](source_file_path, dest_file_obj, dest_group_name)
g5505f_reader.select_file_reader(dest_group_name)(source_file_path, dest_file_obj, dest_group_name)
# Update the progress bar and log the end message
utils.progressBar(dir_number, number_of_dirs, end_message)