Example #1
0
 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"))
Example #2
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