def __engineFromUrlAvailable(self): """ Private slot to add a search engine from the net. """ reply = self.sender() if reply is None: return if reply.error() != QNetworkReply.NoError: reply.close() if reply in self.__replies: self.__replies.remove(reply) return reader = OpenSearchReader() engine = reader.read(reply) reply.close() if reply in self.__replies: self.__replies.remove(reply) if not engine.isValid(): return if self.engineExists(engine.name()): return if not self.__confirmAddition(engine): return if not self.__addEngineByEngine(engine): return
def restoreDefaults(self): """ Public method to restore the default search engines. """ reader = OpenSearchReader() for engine in OpenSearchDefaultEngines: engineDescription = QByteArray(OpenSearchDefaultEngines[engine]) buffer_ = QBuffer(engineDescription) if not buffer_.open(QIODevice.ReadOnly): continue engine = reader.read(buffer_) self.__addEngineByEngine(engine)
def __addEngineByFile(self, filename): """ Private method to add a new search engine given a filename. @param filename name of a file containing the engine definition (string or QString) @return flag indicating success (boolean) """ file_ = QFile(filename) if not file_.open(QIODevice.ReadOnly): return False reader = OpenSearchReader() engine = reader.read(file_) if not self.__addEngineByEngine(engine): return False return True