def test_version_is_greater(self): """ Ensuring certain versions are greater than one another """ self.assertTrue(version_is_greater("1.0.1", "1")) self.assertTrue(version_is_greater("1.0.1", "1.0")) self.assertTrue(version_is_greater("0.42", "0.41.1")) self.assertTrue(version_is_greater("0.4.1", "0.4")) self.assertTrue(version_is_greater("0.4.15", "0.4.1")) self.assertFalse(version_is_greater("1.0.0", "1")) self.assertFalse(version_is_greater("1.0", "1")) self.assertFalse(version_is_greater("0.4.0", "0.4")) self.assertFalse(version_is_greater("0.4.0", "0.4.0"))
def recreate_save(self, filename, save_data): """ Recreates the saved .wtbd file's state """ logger.debug("Recreating save file") self.filename = filename self.gui.show_progress_dialog(_("Loading...")) self.gui.remove_all_sheets() # change program settings and update the Preview window self.colour = save_data[0][0] self.thickness = save_data[0][1] self.tool = save_data[0][2] self.gui.control.change_tool(_id=self.tool) # toggle button self.gui.control.colour.SetColour(self.colour) self.gui.control.thickness.SetSelection(self.thickness - 1) # re-create tabs and its saved drawings for x in save_data[1]: self.gui.on_new_tab(name=save_data[3][x]) size = (Config().default_width(), Config().default_height()) try: size = save_data[4][x] except KeyError: pass self.gui.canvas.resize(size) try: media = save_data[5][x] for m in media: m.canvas = self.gui.canvas m.load() self.gui.canvas.medias.append(m) except KeyError: break for shape in save_data[1][x]: try: shape.canvas = self.gui.canvas # restore canvas shape.load() # restore unpickleable settings self.gui.canvas.add_shape(shape) except Exception: break self.gui.canvas.redraw_all(True) # close progress bar, handle older file versions gracefully wx.PostEvent(self.gui, self.gui.LoadEvent()) self.mark_saved() self.saved_version = save_data[0][4] pub.sendMessage("canvas.change_tool") self.gui.tabs.SetSelection(save_data[0][3]) self.gui.on_change_tab() self.gui.SetTitle(u"%s - %s" % (os.path.basename(filename), self.gui.title)) self.gui.closed_tabs = list() try: if save_data[0][5]: logger.debug("Setting default font from save file: [%s]", save_data[0][5]) font = wx.FFont(1, wx.FONTFAMILY_DEFAULT) font.SetNativeFontInfoFromString(save_data[0][5]) self.font = font except IndexError: pass # Don't save .wtbd file of future versions as current, older version if version_is_greater(self.saved_version, meta.version): self.update_version = False