def get_structure_dictionary_from_file(structure_file): """Returns a structure as a dictionary from the given file. """ properties = property_reader_utils.make_dictionary(structure_file) properties = {key: processor_utils.adjust_property_value(properties[key]) for key in list(properties.keys())} return properties
def get_translator_dictionary_from_file(translator_file): """Returns a translator as a dictionary from the given file. """ properties = property_reader_utils.make_dictionary(translator_file) properties = {key: processor_utils.adjust_property_value(properties[key]) for key in list(properties.keys())} properties['translator_file'] = translator_file return properties
def file_to_properties(extension, rel_exec_path=None, rel_property_path=None): current_path = os.path.dirname(os.path.realpath(__file__)) setup_file = current_path.replace(rel_exec_path, rel_property_path) setup_file += extension properties = property_reader_utils.make_dictionary(setup_file) return properties
def get_records_from_file(variables): """Accepts a dictionary containing a fields parameter as a list of field dictionaries ([f1,f2,f3] where f1 has at least a name and type and can possibly have other instructions), a file path, and optionally a field separator, and returns the records from the file. """ fields = variables['fields'] field_types = [(field['name'], field['type']) for field in fields] path = variables['path'] separator = None if 'separator' in list(variables.keys()): separator = translate_delimiter(variables['separator']) slices = None if 'start_position' in list(fields[0].keys()): start_positions = [field['start_position'] for field in fields] slices = make_slices(make_intervals(strings_to_ints(start_positions))) records = read_records('Record', field_types, path, slices, separator) return list(map(named_tuple_to_dictionary, records)) def named_tuple_to_dictionary(named_tuple): """Changes a named tuple to its equivalent dictionary. """ return named_tuple._asdict() if __name__ == '__main__': print('Running direct method of record reader.') properties = make_dictionary(sys.argv[1]) records = get_records_as_tuples(properties)
def get_dictionary_by_profile(path, full_path=False): if not full_path: path = replace_relative_path(path, '/src/main/dao/filesystem', '/properties/profiles/') return property_reader_utils.make_dictionary(path)