def _transform_input(input_generator, key=None): input_list = utils.flatten_to_list_of_dicts(input_generator) file_paths = utils.flatten_to_file_paths(input_list) if key is not None: return file_paths[key] return file_paths
def get_output_file_name(self, key): """ Analogous to :obj:`get_input_file_names` this function returns a an output file defined in out output function with the given key. In contrast to :obj:`get_input_file_names`, only a single file name will be returned (as there can only be a single output file with a given name). Args: key (:obj:`str`): Return the file path with this given key. Return: Returns only the file path for this given key. """ target = self._get_output_target(key) file_paths = utils.flatten_to_file_paths(target) return file_paths
def get_input_file_names(self, key=None): """ Get a dictionary of input file names of the tasks, which are defined in our requirements. Either use the key argument or dictionary indexing with the key given to :obj:`add_to_output` to get back a list (!) of file paths. Args: key (:obj:`str`, optional): If given, only return a list of file paths with this given key. Return: If key is none, returns a dictionary of keys to list of file paths. Else, returns only the list of file paths for this given key. """ input_list = utils.flatten_to_list_of_dicts(self.input()) file_paths = utils.flatten_to_file_paths(input_list) if key is not None: return file_paths[key] else: return file_paths