예제 #1
0
 def read(self, fileName):
     self.state = PluginState.Invalid
     self.hasError = False
     self.dependencies = []
     specFile = QFile(fileName)
     if not specFile.exists():
         msg = QCoreApplication.translate(None, "File does not exist: {name}")
         return self.__reportError(msg.format(name=specFile.fileName()))
     if not specFile.open(QIODevice.ReadOnly):
         msg = QCoreApplication.translate(None, "Could not open file for read: {name}")
         return self.__reportError(msg.format(name=specFile.fileName()))
     fileInfo = QFileInfo(specFile)
     self.location = fileInfo.absolutePath()
     self.filePath = fileInfo.absoluteFilePath()
     reader = QXmlStreamReader(specFile)
     while not reader.atEnd():
         reader.readNext()
         tokenType = reader.tokenType()
         if tokenType is QXmlStreamReader.StartElement:
             self.__readPluginSpec(reader)
         else:
             pass
     if reader.hasError():
         msg = QCoreApplication.translate(None, "Error parsing file {0}: {1}, at line {2}, column {3}")
         return self.__reportError(msg.format(specFile.fileName(), reader.errorString(),
                                              reader.lineNumber(), reader.columnNumber()))
     self.state = PluginState.Read
     return True
예제 #2
0
 def serializedArguments(self):
     seperator = "|"
     rc = ""
     for spec in self.plugins():
         if spec.arguments():
             if rc:
                 rc += seperator
             rc += ":"
             rc += spec.name()
             rc += seperator
             rc += spec.arguments() + seperator
     if self.private.arguments:
         if rc:
             rc += seperator
         rc += ARGUMENT_KEYWORD
         # If the argument appears to be a file, make it absolute
         # when sending to another instance
         for argument in self.private.arguments:
             rc += seperator
             fi = QFileInfo(argument)
             if fi.exists() and fi.isRelative():
                 rc += fi.absoluteFilePath()
             else:
                 rc += argument
     return rc