def main(): name_gen = NameGenerator() device_map = {} tree = device_parser.parse_data('xmls/data_grouped.xml') devices_data = device_parser.parse_groupings(tree) while True: inp = input_str(MENU_STR, valid={'a', 'p', 'r', 'q', 'd'}) print() if inp == 'a': dev_key = input_device_model(devices_data, '') key,value = device_parser.search_data(tree, dev_key) device_map[name_gen.generate_name(key)] = value if inp == 'd': valid = set(device_map.keys()) if len(valid) > 0: to_delete = input_str('Which device do you want to delete? {}: '.format(valid), valid) del device_map[to_delete] else: print('There are no devices to delete\n') if inp == 'p': print(set(device_map.keys())) if inp == 'r': input_generators = make_input_generators(device_map) integration_period = input_int('Enter integration period: ') run_sim(integration_period, input_generators) write_to_ifile('csvs/test_group.csv', integration_period, input_generators) analyze_data('csvs/test_group.csv', integration_period, device_map) print() if inp == 'q': return
def run_sim(integration_period: int, input_generators: list): '''runs the simulation that creates the input csv''' print('\nInput the start states:') input_at_interval(input_generators, 1) while True: print() time_interval = input_int('How long is this time interval (in minutes)[enter 0 to end the simulation]: ') if time_interval == 0: break num_periods_interval = int(convert_time(time_interval, integration_period)) input_at_interval(input_generators, num_periods_interval)
def main(): name_gen = NameGenerator() device_map = {} tree = device_parser.parse_data('xmls/data_grouped.xml') devices_data = device_parser.parse_groupings(tree) while True: inp = input_str(MENU_STR, valid={'a', 'p', 'r', 'q', 'd'}) print() if inp == 'a': dev_key = input_device_model(devices_data, '') key,value = device_parser.search_data(tree, dev_key) device_map[name_gen.generate_name(key)] = value if inp == 'd': valid = set(device_map.keys()) if len(valid) > 0: to_delete = input_str('Which device do you want to delete? {}: '.format(valid), valid) del device_map[to_delete] else: print('There are no devices to delete\n') if inp == 'p': print(set(device_map.keys())) if inp == 'r': input_generators = make_input_generators(device_map) integration_period = input_int('Enter integration period: ') run_sim(integration_period, input_generators) write_to_ifile('csvs/test_group.csv', integration_period, input_generators) write_to_peramfile('csvs/run_perams.cfg', integration_period, device_map) print ("CSV File Input Gen:") print(input_generators) print ("Integration Period:") print(integration_period) print ("Device Map:") print(device_map) #template code in place, input parsernot fully implemented #read_back_integration_period, read_back_device_map = read_from_peramfile('csvs/run_perams.cfg') #print ("Read-back Integration Period:") #print(read_back_integration_period) #print ("Read-back Device Map:") #print(read_back_device_map) input("CSV Schedule File Written - Press Enter to continue with analysis ...") analyze_data('csvs/test_group.csv', integration_period, device_map) print() if inp == 'q': return