def generate_output(dao): """ Loads the machine objects from the datastore, calls :py:func:`pacman103.core.output_generator.generate_output_raw` to generate load targets and executable targets, and stores the result in the datastore. :param `pacman103.core.dao` dao: datastore containing a machine object. """ machine = dao.get_machine() #checks if the folders for the binery and reports exists already. check_directories_exist(dao) generate_output_raw(dao) if conf.config.getboolean("Reports", "reportsEnabled"): reports.generate_data_generator_reports(dao) # Pickle outputs for reload directory = DAO.get_binaries_directory() load_targets_path = os.path.join(directory, "pickled_load_targets") executable_targets_path = os.path.join(directory, "pickled_executable_targets") mem_write_targets_path = os.path.join(directory, "pickled_mem_write_targets") try: load_targets_file = open(load_targets_path, "wb") pickle.dump(dao.load_targets, load_targets_file, protocol=pickle.HIGHEST_PROTOCOL) load_targets_file.close() executable_targets_file = open(executable_targets_path, "wb") pickle.dump(dao.executable_targets, executable_targets_file, protocol=pickle.HIGHEST_PROTOCOL) executable_targets_file.close() mem_write_targets_file = open(mem_write_targets_path, "wb") pickle.dump(dao.mem_write_targets, mem_write_targets_file, protocol=pickle.HIGHEST_PROTOCOL) mem_write_targets_file.close() except Exception as e: print e.message
def reload_output(dao, reload_time): logger.info("Reloading targets from %s" % reload_time) directory = DAO.get_binaries_directory(reload_time=reload_time) load_targets_path = os.path.join(directory, "pickled_load_targets") executable_targets_path = os.path.join(directory, "pickled_executable_targets") mem_write_targets_path = os.path.join(directory, "pickled_mem_write_targets") try: load_targets_file = open(load_targets_path, "rb") dao.load_targets = pickle.load(load_targets_file) load_targets_file.close() executable_targets_file = open(executable_targets_path, "rb") dao.executable_targets = pickle.load(executable_targets_file) executable_targets_file.close() mem_write_targets_file = open(mem_write_targets_path, "rb") dao.mem_write_targets = pickle.load(mem_write_targets_file) mem_write_targets_file.close() except Exception as e: print e.message