rename BeremizIDELauncher.py to Beremiz.py
authorAndrey Skvortsov <andrej.skvortzov@gmail.com>
Fri, 10 Mar 2017 19:12:43 +0300
changeset 1663 81f6781f7fec
parent 1662 8816f7316d9c
child 1664 9a91faac4d95
rename BeremizIDELauncher.py to Beremiz.py
Beremiz.py
BeremizIDELauncher.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Beremiz.py	Fri Mar 10 19:12:43 2017 +0300
@@ -0,0 +1,187 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz, a Integrated Development Environment for
+# programming IEC 61131-3 automates supporting plcopen standard and CanFestival.
+#
+# Copyright (C) 2016 - 2017: Andrey Skvortsov <andrej.skvortzov@gmail.com>
+#
+# See COPYING file for copyrights details.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+
+
+import os, sys, getopt
+import time
+import __builtin__
+
+class BeremizIDELauncher:
+    def __init__(self):
+        self.updateinfo_url = None
+        self.extensions = []
+        self.app_dir = os.path.dirname(os.path.realpath(__file__))
+        self.projectOpen = None
+        self.buildpath = None
+        self.splash = None
+        self.splashPath = self.Bpath("images", "splash.png")
+
+    def Bpath(self, *args):
+        return os.path.join(self.app_dir,*args)
+
+    def ShowSplashScreen(self):
+        from wx.lib.agw.advancedsplash import AdvancedSplash
+        bmp = wx.Image(self.splashPath).ConvertToBitmap()
+        self.splash = AdvancedSplash(None, bitmap=bmp)
+
+        # process all events
+        # even the events generated by splash themself during showing
+        if wx.Platform == '__WXMSW__':
+            self.splash.Show()
+            self.splash.ProcessEvent(wx.PaintEvent())
+        else:
+            for i in range(0,30):
+                wx.Yield()
+                time.sleep(0.01);
+
+
+    def Usage(self):
+        print "\nUsage:"
+        print "\n   %s [Projectpath] [Buildpath]\n"%sys.argv[0]
+
+    def SetCmdOptions(self):
+        self.shortCmdOpts = "hu:e:"
+        self.longCmdOpts = ["help", "updatecheck=", "extend="]
+
+    def ProcessOption(self, o, a):
+        if o in ("-h", "--help"):
+            self.Usage()
+            sys.exit()
+        if o in ("-u", "--updatecheck"):
+            self.updateinfo_url = a
+        if o in ("-e", "--extend"):
+            self.extensions.append(a)
+
+    def ProcessCommandLineArgs(self):
+        self.SetCmdOptions()
+        try:
+            opts, args = getopt.getopt(sys.argv[1:], self.shortCmdOpts, self.longCmdOpts)
+        except getopt.GetoptError:
+            # print help information and exit:
+            self.Usage()
+            sys.exit(2)
+
+        for o, a in opts:
+            self.ProcessOption(o, a)
+
+        if len(args) > 2:
+            self.Usage()
+            sys.exit()
+
+        elif len(args) == 1:
+            self.projectOpen = args[0]
+            self.buildpath = None
+        elif len(args) == 2:
+            self.projectOpen = args[0]
+            self.buildpath = args[1]
+
+    def CreateApplication(self):
+        if os.path.exists("BEREMIZ_DEBUG"):
+            __builtin__.__dict__["BMZ_DBG"] = True
+        else :
+            __builtin__.__dict__["BMZ_DBG"] = False
+
+        global wxversion, wx
+        import wxversion
+        wxversion.select(['2.8', '3.0'])
+        import wx
+
+        if wx.VERSION >= (3, 0, 0):
+            self.app = wx.App(redirect=BMZ_DBG)
+        else:
+            self.app = wx.PySimpleApp(redirect=BMZ_DBG)
+
+        self.app.SetAppName('beremiz')
+        if wx.VERSION < (3, 0, 0):
+            wx.InitAllImageHandlers()
+
+        self.ShowSplashScreen()
+        self.BackgroundInitialization()
+        self.app.MainLoop()
+
+    def BackgroundInitialization(self):
+        self.InitI18n()
+        self.CheckUpdates()
+        self.LoadExtensions()
+        self.ImportModules()
+        self.InstallExceptionHandler()
+        self.ShowUI()
+
+    def InitI18n(self):
+        from util.misc import InstallLocalRessources
+        InstallLocalRessources(self.app_dir)
+
+    def LoadExtensions(self):
+        for extfilename in self.extensions:
+            from util.TranslationCatalogs import AddCatalog
+            from util.BitmapLibrary import AddBitmapFolder
+            extension_folder = os.path.split(os.path.realpath(extfilename))[0]
+            sys.path.append(extension_folder)
+            AddCatalog(os.path.join(extension_folder, "locale"))
+            AddBitmapFolder(os.path.join(extension_folder, "images"))
+            execfile(extfilename, locals())
+
+    def CheckUpdates(self):
+        if self.updateinfo_url is not None:
+            updateinfo = _("Fetching %s") % self.updateinfo_url
+
+            def updateinfoproc():
+                global updateinfo
+                try :
+                    import urllib2
+                    updateinfo = urllib2.urlopen(self.updateinfo_url,None).read()
+                except :
+                    updateinfo = _("update info unavailable.")
+
+            from threading import Thread
+            self.splash.SetText(text=updateinfo)
+            updateinfoThread = Thread(target=updateinfoproc)
+            updateinfoThread.start()
+            updateinfoThread.join(2)
+            self.splash.SetText(text=updateinfo)
+
+    def ImportModules(self):
+        global BeremizIDE
+        import BeremizIDE
+
+    def InstallExceptionHandler(self):
+        import version
+        import tempfile
+        logpath = tempfile.gettempdir()+os.sep+'Beremiz'
+        BeremizIDE.AddExceptHook(logpath,version.app_version)
+
+    def ShowUI(self):
+        self.frame = BeremizIDE.Beremiz(None, self.projectOpen, self.buildpath)
+        if self.splash:
+            self.splash.Close()
+        self.frame.Show()
+
+    def Start(self):
+        self.ProcessCommandLineArgs()
+        self.CreateApplication()
+
+if __name__ == '__main__':
+    beremiz = BeremizIDELauncher()
+    beremiz.Start()
--- a/BeremizIDELauncher.py	Fri Mar 10 17:36:18 2017 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# This file is part of Beremiz, a Integrated Development Environment for
-# programming IEC 61131-3 automates supporting plcopen standard and CanFestival.
-#
-# Copyright (C) 2016 - 2017: Andrey Skvortsov <andrej.skvortzov@gmail.com>
-#
-# See COPYING file for copyrights details.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-
-
-
-import os, sys, getopt
-import time
-import __builtin__
-
-class BeremizIDELauncher:
-    def __init__(self):
-        self.updateinfo_url = None
-        self.extensions = []
-        self.app_dir = os.path.dirname(os.path.realpath(__file__))
-        self.projectOpen = None
-        self.buildpath = None
-        self.splash = None
-        self.splashPath = self.Bpath("images", "splash.png")
-
-    def Bpath(self, *args):
-        return os.path.join(self.app_dir,*args)
-
-    def ShowSplashScreen(self):
-        from wx.lib.agw.advancedsplash import AdvancedSplash
-        bmp = wx.Image(self.splashPath).ConvertToBitmap()
-        self.splash = AdvancedSplash(None, bitmap=bmp)
-
-        # process all events
-        # even the events generated by splash themself during showing
-        if wx.Platform == '__WXMSW__':
-            self.splash.Show()
-            self.splash.ProcessEvent(wx.PaintEvent())
-        else:
-            for i in range(0,30):
-                wx.Yield()
-                time.sleep(0.01);
-
-
-    def Usage(self):
-        print "\nUsage:"
-        print "\n   %s [Projectpath] [Buildpath]\n"%sys.argv[0]
-
-    def SetCmdOptions(self):
-        self.shortCmdOpts = "hu:e:"
-        self.longCmdOpts = ["help", "updatecheck=", "extend="]
-
-    def ProcessOption(self, o, a):
-        if o in ("-h", "--help"):
-            self.Usage()
-            sys.exit()
-        if o in ("-u", "--updatecheck"):
-            self.updateinfo_url = a
-        if o in ("-e", "--extend"):
-            self.extensions.append(a)
-
-    def ProcessCommandLineArgs(self):
-        self.SetCmdOptions()
-        try:
-            opts, args = getopt.getopt(sys.argv[1:], self.shortCmdOpts, self.longCmdOpts)
-        except getopt.GetoptError:
-            # print help information and exit:
-            self.Usage()
-            sys.exit(2)
-
-        for o, a in opts:
-            self.ProcessOption(o, a)
-
-        if len(args) > 2:
-            self.Usage()
-            sys.exit()
-
-        elif len(args) == 1:
-            self.projectOpen = args[0]
-            self.buildpath = None
-        elif len(args) == 2:
-            self.projectOpen = args[0]
-            self.buildpath = args[1]
-
-    def CreateApplication(self):
-        if os.path.exists("BEREMIZ_DEBUG"):
-            __builtin__.__dict__["BMZ_DBG"] = True
-        else :
-            __builtin__.__dict__["BMZ_DBG"] = False
-
-        global wxversion, wx
-        import wxversion
-        wxversion.select(['2.8', '3.0'])
-        import wx
-
-        if wx.VERSION >= (3, 0, 0):
-            self.app = wx.App(redirect=BMZ_DBG)
-        else:
-            self.app = wx.PySimpleApp(redirect=BMZ_DBG)
-
-        self.app.SetAppName('beremiz')
-        if wx.VERSION < (3, 0, 0):
-            wx.InitAllImageHandlers()
-
-        self.ShowSplashScreen()
-        self.BackgroundInitialization()
-        self.app.MainLoop()
-
-    def BackgroundInitialization(self):
-        self.InitI18n()
-        self.CheckUpdates()
-        self.LoadExtensions()
-        self.ImportModules()
-        self.InstallExceptionHandler()
-        self.ShowUI()
-
-    def InitI18n(self):
-        from util.misc import InstallLocalRessources
-        InstallLocalRessources(self.app_dir)
-
-    def LoadExtensions(self):
-        for extfilename in self.extensions:
-            from util.TranslationCatalogs import AddCatalog
-            from util.BitmapLibrary import AddBitmapFolder
-            extension_folder = os.path.split(os.path.realpath(extfilename))[0]
-            sys.path.append(extension_folder)
-            AddCatalog(os.path.join(extension_folder, "locale"))
-            AddBitmapFolder(os.path.join(extension_folder, "images"))
-            execfile(extfilename, locals())
-
-    def CheckUpdates(self):
-        if self.updateinfo_url is not None:
-            updateinfo = _("Fetching %s") % self.updateinfo_url
-
-            def updateinfoproc():
-                global updateinfo
-                try :
-                    import urllib2
-                    updateinfo = urllib2.urlopen(self.updateinfo_url,None).read()
-                except :
-                    updateinfo = _("update info unavailable.")
-
-            from threading import Thread
-            self.splash.SetText(text=updateinfo)
-            updateinfoThread = Thread(target=updateinfoproc)
-            updateinfoThread.start()
-            updateinfoThread.join(2)
-            self.splash.SetText(text=updateinfo)
-
-    def ImportModules(self):
-        global BeremizIDE
-        import BeremizIDE
-
-    def InstallExceptionHandler(self):
-        import version
-        import tempfile
-        logpath = tempfile.gettempdir()+os.sep+'Beremiz'
-        BeremizIDE.AddExceptHook(logpath,version.app_version)
-
-    def ShowUI(self):
-        self.frame = BeremizIDE.Beremiz(None, self.projectOpen, self.buildpath)
-        if self.splash:
-            self.splash.Close()
-        self.frame.Show()
-
-    def Start(self):
-        self.ProcessCommandLineArgs()
-        self.CreateApplication()
-
-if __name__ == '__main__':
-    beremiz = BeremizIDELauncher()
-    beremiz.Start()