Scott Talbert pointed out a simpler replacement for wx.PySimpleApp() is just wx.App(False) - I've attached an updated patch using this instead.
Cheers, Olly
diff -Nru python-pyo-0.7/debian/changelog python-pyo-0.7/debian/changelog --- python-pyo-0.7/debian/changelog 2014-08-30 21:14:41.000000000 -0300 +++ python-pyo-0.7/debian/changelog 2014-09-09 17:18:26.000000000 -0300 @@ -1,3 +1,14 @@ +python-pyo (0.7-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix deprecation warnings with wxPython 3.0. + * Fix check for wxPython not to insist that 2.8 is installed before picking + something that's 2.8 or newer. + * Update uses of removed alias wx.Color to wx.Colour. + * Update FileDialog flags to use the non-deprecated "FD_" prefixed form. + + -- Olly Betts <o...@survex.com> Tue, 09 Sep 2014 20:16:21 +0000 + python-pyo (0.7-2) unstable; urgency=low * Depends on python-wxgtk3.0 instead of python-wxgtk2.8 to have the diff -Nru python-pyo-0.7/debian/patches/01-epyo_paths python-pyo-0.7/debian/patches/01-epyo_paths --- python-pyo-0.7/debian/patches/01-epyo_paths 2014-08-30 18:11:38.000000000 -0300 +++ python-pyo-0.7/debian/patches/01-epyo_paths 2014-09-09 17:16:16.000000000 -0300 @@ -1,5 +1,7 @@ ---- a/utils/E-Pyo.py -+++ b/utils/E-Pyo.py +Index: python-pyo-0.7/utils/E-Pyo.py +=================================================================== +--- python-pyo-0.7.orig/utils/E-Pyo.py ++++ python-pyo-0.7/utils/E-Pyo.py @@ -210,7 +210,7 @@ elif WIN_APP_BUNDLED: EXAMPLE_PATH = os.path.join(os.getcwd(), "Resources", "examples") diff -Nru python-pyo-0.7/debian/patches/series python-pyo-0.7/debian/patches/series --- python-pyo-0.7/debian/patches/series 2014-08-30 18:11:38.000000000 -0300 +++ python-pyo-0.7/debian/patches/series 2014-09-07 15:17:51.000000000 -0300 @@ -1 +1,2 @@ 01-epyo_paths +wxpython3.0.patch diff -Nru python-pyo-0.7/debian/patches/wxpython3.0.patch python-pyo-0.7/debian/patches/wxpython3.0.patch --- python-pyo-0.7/debian/patches/wxpython3.0.patch 1969-12-31 21:00:00.000000000 -0300 +++ python-pyo-0.7/debian/patches/wxpython3.0.patch 2014-09-13 00:29:42.000000000 -0300 @@ -0,0 +1,128 @@ +Description: Update for wxPython 3.0 + These changes should remain compatible with wxPython 2.8. +Forwarded: no +Last-Update: 2014-09-12 + +Index: python-pyo-0.7/pyolib/_widgets.py +=================================================================== +--- python-pyo-0.7.orig/pyolib/_widgets.py ++++ python-pyo-0.7/pyolib/_widgets.py +@@ -29,10 +29,11 @@ except: + WITH_PIL = False + + try: +- import wxversion +- if (wxversion.checkInstalled("2.8")): ++ if 'wx' not in sys.modules: ++ # Don't try to load if already loaded. ++ import wxversion + wxversion.ensureMinimal("2.8") +- import wx ++ import wx + from _wxwidgets import * + PYO_USE_WX = True + except: +Index: python-pyo-0.7/pyolib/_wxwidgets.py +=================================================================== +--- python-pyo-0.7.orig/pyolib/_wxwidgets.py ++++ python-pyo-0.7/pyolib/_wxwidgets.py +@@ -143,8 +143,8 @@ def powOfTwoToInt(x): + return POWOFTWO[x] + + def GetRoundBitmap( w, h, r ): +- maskColor = wx.Color(0,0,0) +- shownColor = wx.Color(5,5,5) ++ maskColor = wx.Colour(0,0,0) ++ shownColor = wx.Colour(5,5,5) + b = wx.EmptyBitmap(w,h) + dc = wx.MemoryDC(b) + dc.SetBrush(wx.Brush(maskColor)) +Index: python-pyo-0.7/utils/E-Pyo.py +=================================================================== +--- python-pyo-0.7.orig/utils/E-Pyo.py ++++ python-pyo-0.7/utils/E-Pyo.py +@@ -2250,7 +2250,7 @@ class MainFrame(wx.Frame): + def saveListPaste(self, evt): + if self.pastingList != []: + dlg = wx.FileDialog(self, message="Save file as ...", +- defaultDir=os.path.expanduser('~'), style=wx.SAVE) ++ defaultDir=os.path.expanduser('~'), style=wx.FD_SAVE) + if dlg.ShowModal() == wx.ID_OK: + path = ensureNFD(dlg.GetPath()) + with open(path, "w") as f: +@@ -2258,7 +2258,7 @@ class MainFrame(wx.Frame): + + def loadListPaste(self, evt): + dlg = wx.FileDialog(self, message="Choose a file", +- defaultDir=os.path.expanduser("~"), style=wx.OPEN) ++ defaultDir=os.path.expanduser("~"), style=wx.FD_OPEN) + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() + self.pastingList = [] +@@ -2520,7 +2520,7 @@ class MainFrame(wx.Frame): + def insertPath(self, evt): + dlg = wx.FileDialog(self, message="Choose a file", + defaultDir=PREFERENCES.get("insert_path", os.path.expanduser("~")), +- defaultFile="", style=wx.OPEN | wx.MULTIPLE) ++ defaultFile="", style=wx.FD_OPEN | wx.FD_MULTIPLE) + if dlg.ShowModal() == wx.ID_OK: + paths = dlg.GetPaths() + if len(paths) == 1: +@@ -2710,7 +2710,7 @@ class MainFrame(wx.Frame): + def open(self, event, encoding=None): + dlg = wx.FileDialog(self, message="Choose a file", + defaultDir=PREFERENCES.get("open_file_path", os.path.expanduser("~")), +- defaultFile="", style=wx.OPEN | wx.MULTIPLE) ++ defaultFile="", style=wx.FD_OPEN | wx.FD_MULTIPLE) + if dlg.ShowModal() == wx.ID_OK: + paths = dlg.GetPaths() + for path in paths: +@@ -2775,7 +2775,7 @@ class MainFrame(wx.Frame): + deffile = os.path.split(self.panel.editor.path)[1] + dlg = wx.FileDialog(self, message="Save file as ...", + defaultDir=PREFERENCES.get("save_file_path", os.path.expanduser("~")), +- defaultFile=deffile, style=wx.SAVE) ++ defaultFile=deffile, style=wx.FD_SAVE) + dlg.SetFilterIndex(0) + if dlg.ShowModal() == wx.ID_OK: + path = ensureNFD(dlg.GetPath()) +@@ -3594,7 +3594,7 @@ class Editor(stc.StyledTextCtrl): + dlg.Destroy() + if not self.path or "Untitled-" in self.path: + dlg2 = wx.FileDialog(None, message="Save file as ... (the file will be closed even if you pressed Cancel!)", defaultDir=os.getcwd(), +- defaultFile="", style=wx.SAVE|wx.FD_OVERWRITE_PROMPT) ++ defaultFile="", style=wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) + dlg2.SetFilterIndex(0) + if dlg2.ShowModal() == wx.ID_OK: + path = dlg2.GetPath() +@@ -3618,7 +3618,7 @@ class Editor(stc.StyledTextCtrl): + dlg.Destroy() + if not self.path or "Untitled-" in self.path: + dlg2 = wx.FileDialog(None, message="Save file as ...", defaultDir=os.getcwd(), +- defaultFile="", style=wx.SAVE|wx.FD_OVERWRITE_PROMPT) ++ defaultFile="", style=wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) + dlg2.SetFilterIndex(0) + if dlg2.ShowModal() == wx.ID_OK: + path = dlg2.GetPath() +@@ -3649,7 +3649,7 @@ class Editor(stc.StyledTextCtrl): + dlg.Destroy() + if not self.path or "Untitled-" in self.path: + dlg2 = wx.FileDialog(None, message="Save file as ...", defaultDir=os.getcwd(), +- defaultFile="", style=wx.SAVE|wx.FD_OVERWRITE_PROMPT) ++ defaultFile="", style=wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) + dlg2.SetFilterIndex(0) + + if dlg2.ShowModal() == wx.ID_OK: +Index: python-pyo-0.7/utils/PyoDoc.py +=================================================================== +--- python-pyo-0.7.orig/utils/PyoDoc.py ++++ python-pyo-0.7/utils/PyoDoc.py +@@ -1121,7 +1121,7 @@ def toSysEncoding(unistr): + + if __name__ == "__main__": + DOC_AS_SINGLE_APP = True +- app = wx.PySimpleApp() ++ app = wx.App(False) + doc_frame = ManualFrame() + doc_frame.Show() + app.MainLoop()