Beremiz.py
branchwxPython4
changeset 3423 84afcc0ebadd
parent 2570 1df8262b7d15
child 3444 91b2c014494e
equal deleted inserted replaced
3422:700b39cb4525 3423:84afcc0ebadd
    48         self.splash = None
    48         self.splash = None
    49         self.splashPath = self.Bpath("images", "splash.png")
    49         self.splashPath = self.Bpath("images", "splash.png")
    50         self.modules = ["BeremizIDE"]
    50         self.modules = ["BeremizIDE"]
    51         self.debug = os.path.exists("BEREMIZ_DEBUG")
    51         self.debug = os.path.exists("BEREMIZ_DEBUG")
    52         self.handle_exception = None
    52         self.handle_exception = None
       
    53         self.logf = None
    53 
    54 
    54     def Bpath(self, *args):
    55     def Bpath(self, *args):
    55         return os.path.join(self.app_dir, *args)
    56         return os.path.join(self.app_dir, *args)
    56 
    57 
    57     def Usage(self):
    58     def Usage(self):
    60         print("")
    61         print("")
    61         print("Supported options:")
    62         print("Supported options:")
    62         print("-h --help                    Print this help")
    63         print("-h --help                    Print this help")
    63         print("-u --updatecheck URL         Retrieve update information by checking URL")
    64         print("-u --updatecheck URL         Retrieve update information by checking URL")
    64         print("-e --extend PathToExtension  Extend IDE functionality by loading at start additional extensions")
    65         print("-e --extend PathToExtension  Extend IDE functionality by loading at start additional extensions")
       
    66         print("-l --log path                write content of console tab to given file")
    65         print("")
    67         print("")
    66         print("")
    68         print("")
    67 
    69 
    68     def SetCmdOptions(self):
    70     def SetCmdOptions(self):
    69         self.shortCmdOpts = "hu:e:"
    71         self.shortCmdOpts = "hu:e:l:"
    70         self.longCmdOpts = ["help", "updatecheck=", "extend="]
    72         self.longCmdOpts = ["help", "updatecheck=", "extend=", "log="]
    71 
    73 
    72     def ProcessOption(self, o, a):
    74     def ProcessOption(self, o, a):
    73         if o in ("-h", "--help"):
    75         if o in ("-h", "--help"):
    74             self.Usage()
    76             self.Usage()
    75             sys.exit()
    77             sys.exit()
    76         if o in ("-u", "--updatecheck"):
    78         if o in ("-u", "--updatecheck"):
    77             self.updateinfo_url = a
    79             self.updateinfo_url = a
    78         if o in ("-e", "--extend"):
    80         if o in ("-e", "--extend"):
    79             self.extensions.append(a)
    81             self.extensions.append(a)
       
    82         if o in ("-l", "--log"):
       
    83             self.logf = open(a, 'a')
    80 
    84 
    81     def ProcessCommandLineArgs(self):
    85     def ProcessCommandLineArgs(self):
    82         self.SetCmdOptions()
    86         self.SetCmdOptions()
    83         try:
    87         try:
    84             opts, args = getopt.getopt(sys.argv[1:], self.shortCmdOpts, self.longCmdOpts)
    88             opts, args = getopt.getopt(sys.argv[1:], self.shortCmdOpts, self.longCmdOpts)
   183         import version
   187         import version
   184         import util.ExceptionHandler
   188         import util.ExceptionHandler
   185         self.handle_exception = util.ExceptionHandler.AddExceptHook(version.app_version)
   189         self.handle_exception = util.ExceptionHandler.AddExceptHook(version.app_version)
   186 
   190 
   187     def CreateUI(self):
   191     def CreateUI(self):
   188         self.frame = self.BeremizIDE.Beremiz(None, self.projectOpen, self.buildpath)
   192         self.frame = self.BeremizIDE.Beremiz(None, self.projectOpen, self.buildpath, logf=self.logf)
   189 
   193 
   190     def CloseSplash(self):
   194     def CloseSplash(self):
   191         if self.splash:
   195         if self.splash:
   192             self.splash.Close()
   196             self.splash.Close()
   193 
   197