def reformat_file(self, input_file, input_format, output_format): """ Reformat input data files to a format the tasks can use """ #Return none if input_file or input_format do not exist if input_file is None or input_format is None: return None #Find the needed input class and read the input stream try: input_cls = self.find_input(input_format) input_inst = input_cls() except TypeError: #Return none if input_cls is a Nonetype return None #If the input file cannot be found, return None try: input_inst.read_input(self.absolute_filepath(input_file)) except IOError: return None formatter = find_needed_formatter(input_format, output_format) if formatter is None: raise Exception( "Cannot find a formatter that can convert from {0} to {1}". format(self.input_format, output_format)) formatter_inst = formatter() formatter_inst.read_input(input_inst.get_data(), input_format) data = formatter_inst.get_data(output_format) return data
def reformat_file(self, input_file, input_format, output_format): """ Reformat input data files to a format the tasks can use """ #Return none if input_file or input_format do not exist if input_file is None or input_format is None: return None #Find the needed input class and read the input stream try: input_cls = self.find_input(input_format) input_inst = input_cls() except TypeError: #Return none if input_cls is a Nonetype return None #If the input file cannot be found, return None try: input_inst.read_input(self.absolute_filepath(input_file)) except IOError: return None formatter = find_needed_formatter(input_format, output_format) if formatter is None: raise Exception("Cannot find a formatter that can convert from {0} to {1}".format(self.input_format, output_format)) formatter_inst = formatter() formatter_inst.read_input(input_inst.get_data(), input_format) data = formatter_inst.get_data(output_format) return data
def read_and_reformat(self, output_format, stream, stream_format): """ Reformat data according to needed formats """ #Find an appropriate input class input_cls = find_needed_input(stream_format) input_inst = input_cls() input_inst.read_input(stream) #find a formatter class and convert data formatter = find_needed_formatter(stream_format, output_format) formatter_inst = formatter() formatter_inst.read_input(input_inst.get_data(), stream_format) data = formatter_inst.get_data(output_format) return data