--- a/src/eric7/EricWidgets/EricSingleApplication.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/EricWidgets/EricSingleApplication.py Wed Jul 13 14:55:47 2022 +0200 @@ -11,9 +11,7 @@ from EricWidgets.EricApplication import ericApp -from Toolbox.SingleApplication import ( - SingleApplicationClient, SingleApplicationServer -) +from Toolbox.SingleApplication import SingleApplicationClient, SingleApplicationServer import Utilities @@ -24,16 +22,17 @@ SAFile = "eric7" # define the protocol tokens -SAOpenFile = 'OpenFile' -SAOpenProject = 'OpenProject' -SAOpenMultiProject = 'OpenMultiProject' -SAArguments = 'Arguments' +SAOpenFile = "OpenFile" +SAOpenProject = "OpenProject" +SAOpenMultiProject = "OpenMultiProject" +SAArguments = "Arguments" class EricSingleApplicationServer(SingleApplicationServer): """ Class implementing the single application server embedded within the IDE. """ + def __init__(self): """ Constructor @@ -43,7 +42,7 @@ def handleCommand(self, command, arguments): """ Public slot to handle the command sent by the client. - + @param command command sent by the client @type str @param arguments list of command arguments @@ -68,31 +67,31 @@ def __saOpenFile(self, fname): """ Private method used to handle the "Open File" command. - + @param fname filename to be opened (string) """ ericApp().getObject("ViewManager").openSourceFile(fname) - + def __saOpenProject(self, pfname): """ Private method used to handle the "Open Project" command. - + @param pfname filename of the project to be opened (string) """ ericApp().getObject("Project").openProject(pfname) - + def __saOpenMultiProject(self, pfname): """ Private method used to handle the "Open Multi-Project" command. - + @param pfname filename of the multi project to be opened (string) """ ericApp().getObject("MultiProject").openMultiProject(pfname) - + def __saArguments(self, argsStr): """ Private method used to handle the "Arguments" command. - + @param argsStr space delimited list of command args(string) """ ericApp().getObject("DebugUI").setArgvHistory(argsStr) @@ -102,85 +101,86 @@ """ Class implementing the single application client of the IDE. """ + def __init__(self): """ Constructor """ SingleApplicationClient.__init__(self, SAFile) - + def processArgs(self, args): """ Public method to process the command line args passed to the UI. - + @param args list of files to open """ # no args, return if args is None: return - + # holds space delimited list of command args, if any argsStr = None # flag indicating '--' options was found ddseen = False - - argChars = ['-', '/'] if Utilities.isWindowsPlatform() else ['-'] - + + argChars = ["-", "/"] if Utilities.isWindowsPlatform() else ["-"] + for arg in args: - if arg == '--' and not ddseen: + if arg == "--" and not ddseen: ddseen = True continue - + if arg[0] in argChars or ddseen: if argsStr is None: argsStr = arg else: argsStr = "{0} {1}".format(argsStr, arg) continue - + ext = os.path.splitext(arg)[1] ext = os.path.normcase(ext) - - if ext in ('.epj', '.e4p'): + + if ext in (".epj", ".e4p"): self.__openProject(arg) - elif ext in ('.emj', '.e4m', '.e5m'): + elif ext in (".emj", ".e4m", ".e5m"): self.__openMultiProject(arg) else: self.__openFile(arg) - + # send any args we had if argsStr is not None: self.__sendArguments(argsStr) - + self.disconnect() - + def __openFile(self, fname): """ Private method to open a file in the application server. - + @param fname name of file to be opened (string) """ self.sendCommand(SAOpenFile, [os.path.abspath(fname)]) - + def __openProject(self, pfname): """ Private method to open a project in the application server. - + @param pfname name of the projectfile to be opened (string) """ self.sendCommand(SAOpenProject, [os.path.abspath(pfname)]) - + def __openMultiProject(self, pfname): """ Private method to open a project in the application server. - + @param pfname name of the projectfile to be opened (string) """ self.sendCommand(SAOpenMultiProject, [os.path.abspath(pfname)]) - + def __sendArguments(self, argsStr): """ Private method to set the command arguments in the application server. - + @param argsStr space delimited list of command args (string) """ self.sendCommand(SAArguments, [argsStr])