def on_output_trajectory_key(self): def pretty_line(locale, lengs): li = [str(loc).rjust(lengs[dex] + 5) for loc, dex in zip(locale[1].location, range(len(lengs)))] line = '\t'.join([' Index: ' + str(locale[0]).ljust(4)+str( locale[1].trajectory_count).rjust(22), '\t'.join(li)]) return line if not self.parameter_space is None: axis_labels = [subsp.label for subsp in self.parameter_space.subspaces] else: lgd.message_dialog(None, 'Can\'t output key without' +\ ' a parameter space!', 'Problem') return label_lengs = [len(label) for label in axis_labels] lines = ['\t||\tTrajectory Key\t||\t\n'] lines.append('Trajectory number'.ljust(25) +\ 'Trajectory Count'.ljust(25) +\ '\t '.join([label.ljust(leng + 5) for label, leng in zip(axis_labels, label_lengs)])) lines.append('-'*120) label_lengs.insert(0, 20) lines.extend([pretty_line(locale, label_lengs) for locale in self.trajectory]) if self.key_path is None or self.key_path == '': self.key_path = os.path.join(os.getcwd(), 'p_space_trajectory_key.txt') self.rewidget(True) lf.output_lines(lines, self.key_path)
def on_write_mcfg(self, *args, **kwargs): try: if not self.mcfg_path: fidlg = lgd.create_dialog('Choose File', 'File?', 'file', 'Modular config files (*.mcfg)', self.mcfg_dir) file_ = fidlg() if not file_: return else: file_ = self.mcfg_path module = self.get_module_reference() lf.output_lines(module.write_mcfg( self.run_params, self), file_) except: traceback.print_exc(file = sys.stdout) lgd.message_dialog(None, 'Failed to write file!', 'Problem')
def output_module(self): if self._module_name_: module = self._module_name_ module_filename = ''.join(['lib', module, '.py']) module_path = os.path.join(os.getcwd(), 'libs', 'modules', module_filename) if lf.output_lines([self._module_text_], module_path, overwrite=False): print 'generated new simulation module:', module_filename
def output_module(self): if self._module_name_: module = self._module_name_ module_filename = ''.join(['lib', module, '.py']) module_path = os.path.join(os.getcwd(), 'libs', 'modules', module_filename) if lf.output_lines([self._module_text_], module_path, overwrite = False): print 'generated new simulation module:', module_filename
def output_module(self, module_text, program = 'modular_core', module = '_new_module_'): module_filename = ''.join(['lib', module, '.py']) module_path = os.path.join(os.getcwd(), 'libs', program, module_filename) if lf.output_lines([module_text],module_path,overwrite = True): print 'generated new module:', module_filename else: print 'failed to generate module:', module_filename
def output_program(self, program_name='_new_program_', program_description='run _new_program_', program_run_option='newprog'): if self._program_name_: program_name = self._program_name_.replace(' ', '_') if self._program_run_option_: program_run_option = self._program_run_option_ if self._program_description_: program_description = self._program_description_ program_path = os.path.join(os.getcwd(), 'libs', 'gui', 'libqtgui_' + program_name + '.py') if lf.output_lines([self._program_gui_entry_text_], program_path, overwrite=True): program_directory = os.path.join(os.getcwd(), 'libs', program_name) if not os.path.exists(program_directory): os.makedirs(program_directory) init_file_path = os.path.join(os.getcwd(), 'libs', program_name, '__init__.py') lf.output_lines([self._code_writer_.make__init_()], init_file_path, overwrite=True) mod_text = self._program_base_class_text_ base_module_class =\ self.parent.pmod_mngr.name_from_text(mod_text) self.parent.pmod_mngr.output_module(mod_text, program=program_name, module=base_module_class) prog_setting_file = os.path.join(os.getcwd(), 'resources', program_name + '_settings.txt') lf.output_lines([lcg.ex_setting_file], prog_setting_file, overwrite=True) lfu.add_program_to_registry(program_name, program_run_option, program_description) print 'generated program:', program_name
def handle_fitting_key(self): def location_to_lines(k, met_dex): loc_measure = self.metrics[met_dex].data[0].scalars[k] lines.append(' : '.join(['Best fit from metric', self.metrics[met_dex].label, str(loc_measure)])) lines.append('\tTrajectory : ' + str(k + 1)) for ax in self.p_sp_trajectory[k]: lines.append('\t\t' + ' : '.join(ax)) lines = ['Fit Routine Fitting Key: '] for dex, met_best in enumerate(self.best_fits): k = met_best[0] lines.append('\n') location_to_lines(k, dex) lines.append('\n') location_to_lines(0, dex) lf.output_lines(lines, self.output.save_directory, 'fitting_key.txt', dont_ask = self.auto_overwrite_key)
def output_module(self, module_text, program='modular_core', module='_new_module_'): module_filename = ''.join(['lib', module, '.py']) module_path = os.path.join(os.getcwd(), 'libs', program, module_filename) if lf.output_lines([module_text], module_path, overwrite=True): print 'generated new module:', module_filename else: print 'failed to generate module:', module_filename
def output_program(self, program_name = '_new_program_', program_description = 'run _new_program_', program_run_option = 'newprog'): if self._program_name_: program_name = self._program_name_.replace(' ','_') if self._program_run_option_: program_run_option = self._program_run_option_ if self._program_description_: program_description = self._program_description_ program_path = os.path.join(os.getcwd(), 'libs', 'gui', 'libqtgui_' + program_name + '.py') if lf.output_lines([self._program_gui_entry_text_], program_path, overwrite = True): program_directory = os.path.join( os.getcwd(), 'libs', program_name) if not os.path.exists(program_directory): os.makedirs(program_directory) init_file_path = os.path.join(os.getcwd(), 'libs', program_name, '__init__.py') lf.output_lines([self._code_writer_.make__init_()], init_file_path, overwrite = True) mod_text = self._program_base_class_text_ base_module_class =\ self.parent.pmod_mngr.name_from_text(mod_text) self.parent.pmod_mngr.output_module(mod_text, program = program_name, module = base_module_class) prog_setting_file = os.path.join(os.getcwd(), 'resources', program_name + '_settings.txt') lf.output_lines([lcg.ex_setting_file], prog_setting_file, overwrite = True) lfu.add_program_to_registry(program_name, program_run_option, program_description) print 'generated program:', program_name