示例#1
0
	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)
示例#2
0
	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')
示例#3
0
 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
示例#4
0
	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
示例#5
0
	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
示例#6
0
    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
示例#7
0
	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)
示例#8
0
 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
示例#9
0
	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