Helpviewer/OpenSearch/OpenSearchManager.py

changeset 2403
e3d7a861547c
parent 2302
f29e9405c851
child 2525
8b507a9a2d40
child 2763
e4794166ad70
equal deleted inserted replaced
2402:304fcefd3b04 2403:e3d7a861547c
10 import os 10 import os
11 11
12 from PyQt4.QtCore import pyqtSignal, QObject, QUrl, QFile, QDir, QIODevice, QByteArray, \ 12 from PyQt4.QtCore import pyqtSignal, QObject, QUrl, QFile, QDir, QIODevice, QByteArray, \
13 QBuffer 13 QBuffer
14 from PyQt4.QtNetwork import QNetworkRequest, QNetworkReply 14 from PyQt4.QtNetwork import QNetworkRequest, QNetworkReply
15
16 from .OpenSearchDefaultEngines import OpenSearchDefaultEngines
17 from .OpenSearchEngine import OpenSearchEngine
18 from .OpenSearchReader import OpenSearchReader
19 from .OpenSearchWriter import OpenSearchWriter
20 15
21 from E5Gui.E5Application import e5App 16 from E5Gui.E5Application import e5App
22 from E5Gui import E5MessageBox 17 from E5Gui import E5MessageBox
23 18
24 from Utilities.AutoSaver import AutoSaver 19 from Utilities.AutoSaver import AutoSaver
153 @param engine URL of the engine definition file (QUrl) or 148 @param engine URL of the engine definition file (QUrl) or
154 name of a file containing the engine definition (string) 149 name of a file containing the engine definition (string)
155 or reference to an engine object (OpenSearchEngine) 150 or reference to an engine object (OpenSearchEngine)
156 @return flag indicating success (boolean) 151 @return flag indicating success (boolean)
157 """ 152 """
153 from .OpenSearchEngine import OpenSearchEngine
158 if isinstance(engine, QUrl): 154 if isinstance(engine, QUrl):
159 return self.__addEngineByUrl(engine) 155 return self.__addEngineByUrl(engine)
160 elif isinstance(engine, OpenSearchEngine): 156 elif isinstance(engine, OpenSearchEngine):
161 return self.__addEngineByEngine(engine) 157 return self.__addEngineByEngine(engine)
162 else: 158 else:
190 """ 186 """
191 file_ = QFile(filename) 187 file_ = QFile(filename)
192 if not file_.open(QIODevice.ReadOnly): 188 if not file_.open(QIODevice.ReadOnly):
193 return False 189 return False
194 190
191 from .OpenSearchReader import OpenSearchReader
195 reader = OpenSearchReader() 192 reader = OpenSearchReader()
196 engine = reader.read(file_) 193 engine = reader.read(file_)
197 194
198 if not self.__addEngineByEngine(engine): 195 if not self.__addEngineByEngine(engine):
199 return False 196 return False
279 dir = QDir() 276 dir = QDir()
280 if not dir.mkpath(dirName): 277 if not dir.mkpath(dirName):
281 return 278 return
282 dir.setPath(dirName) 279 dir.setPath(dirName)
283 280
281 from .OpenSearchWriter import OpenSearchWriter
284 writer = OpenSearchWriter() 282 writer = OpenSearchWriter()
285 283
286 for engine in list(self.__engines.values()): 284 for engine in list(self.__engines.values()):
287 name = self.generateEngineFileName(engine.name()) 285 name = self.generateEngineFileName(engine.name())
288 fileName = dir.filePath(name) 286 fileName = dir.filePath(name)
352 350
353 def restoreDefaults(self): 351 def restoreDefaults(self):
354 """ 352 """
355 Public method to restore the default search engines. 353 Public method to restore the default search engines.
356 """ 354 """
355 from .OpenSearchDefaultEngines import OpenSearchDefaultEngines
356 from .OpenSearchReader import OpenSearchReader
357
357 reader = OpenSearchReader() 358 reader = OpenSearchReader()
358 for engine in OpenSearchDefaultEngines: 359 for engine in OpenSearchDefaultEngines:
359 engineDescription = QByteArray(OpenSearchDefaultEngines[engine]) 360 engineDescription = QByteArray(OpenSearchDefaultEngines[engine])
360 buffer_ = QBuffer(engineDescription) 361 buffer_ = QBuffer(engineDescription)
361 if not buffer_.open(QIODevice.ReadOnly): 362 if not buffer_.open(QIODevice.ReadOnly):
406 reply.close() 407 reply.close()
407 if reply in self.__replies: 408 if reply in self.__replies:
408 self.__replies.remove(reply) 409 self.__replies.remove(reply)
409 return 410 return
410 411
412 from .OpenSearchReader import OpenSearchReader
411 reader = OpenSearchReader() 413 reader = OpenSearchReader()
412 engine = reader.read(reply) 414 engine = reader.read(reply)
413 415
414 reply.close() 416 reply.close()
415 if reply in self.__replies: 417 if reply in self.__replies:

eric ide

mercurial