def OnOpen(self, event): if self.changed: dialog_res = wx.MessageBox( 'Do you want to save changes?', 'Please confirm', wx.ICON_QUESTION | wx.YES_NO | wx.CANCEL, self ) if dialog_res == wx.CANCEL: return elif dialog_res == wx.YES: if self.OnSave(None) == tools.FAIL: return dialog = wx.FileDialog( self, message="Choose PAR file", style=wx.OPEN, wildcard='*.par', defaultFile='*.par' ) if dialog.ShowModal() == wx.ID_OK: new_robo, flag = parfile.readpar( dialog.GetFilename()[:-4], dialog.GetPath() ) if new_robo is None: self.message_error('File could not be read!') else: if flag == tools.FAIL: self.message_warning( "While reading file an error occured." ) self.robo = new_robo self.feed_data()
def OnOpen(self, event): if self.changed: dialog_res = wx.MessageBox( 'Do you want to save changes?', 'Please confirm', wx.ICON_QUESTION | wx.YES_NO | wx.CANCEL, self) if dialog_res == wx.CANCEL: return elif dialog_res == wx.YES: if self.OnSave(None) == tools.FAIL: return dialog = wx.FileDialog(self, message="Choose PAR file", style=wx.OPEN, wildcard='*.par', defaultFile='*.par') if dialog.ShowModal() == wx.ID_OK: new_robo, flag = parfile.readpar(dialog.GetFilename()[:-4], dialog.GetPath()) if new_robo is None: self.message_error('File could not be read!') else: if flag == tools.FAIL: self.message_warning( "While reading file an error occured.") self.robo = new_robo self.feed_data()
def load_robot(self): """ Load either the default robot or the last used robot at the start of the program. Returns: An instance of `Robot` class. """ par_file_path = configfile.get_last_robot() if par_file_path is None: # when last used robot was not saved return samplerobots.rx90() elif not os.path.exists(par_file_path): # when the PAR file does not exist self.message_error("The PAR file does not exist.") return samplerobots.rx90() else: robo_name = os.path.split(par_file_path)[1][:-4] robo, flag = parfile.readpar(robo_name, par_file_path) if robo is None: robo = samplerobots.rx90() self.message_error("File could not be read!") elif flag == tools.FAIL: robo = samplerobots.rx90() self.message_warning( "While reading file an error occured." ) return robo
def test_readwrite(self): parfile.writepar(self.orig_robo) fname = filemgr.get_clean_name(self.orig_robo.name) + ".par" file_path = os.path.join(self.orig_robo.directory, fname) new_robo, flag = parfile.readpar(self.orig_robo.name, file_path) self.assertEqual(flag, tools.OK) l1 = self.orig_robo.get_geom_head() l2 = self.orig_robo.get_dynam_head() l3 = self.orig_robo.get_ext_dynam_head() for name in l3[1:]+l2[1:]+l1[1:]: for i in xrange(1, self.orig_robo.NL): self.assertEqual(self.orig_robo.get_val(i, name), new_robo.get_val(i, name))