7 Module implementing a manager for open search engines. |
7 Module implementing a manager for open search engines. |
8 """ |
8 """ |
9 |
9 |
10 import os |
10 import os |
11 |
11 |
12 from PyQt4.QtCore import pyqtSignal, QObject, QUrl, QFile, QDir, QIODevice, \ |
12 from PyQt4.QtCore import pyqtSignal, QObject, QUrl, QFile, QDir, QIODevice |
13 QByteArray, QBuffer |
|
14 from PyQt4.QtNetwork import QNetworkRequest, QNetworkReply |
13 from PyQt4.QtNetwork import QNetworkRequest, QNetworkReply |
15 |
14 |
16 from E5Gui.E5Application import e5App |
15 from E5Gui.E5Application import e5App |
17 from E5Gui import E5MessageBox |
16 from E5Gui import E5MessageBox |
18 |
17 |
355 |
354 |
356 def restoreDefaults(self): |
355 def restoreDefaults(self): |
357 """ |
356 """ |
358 Public method to restore the default search engines. |
357 Public method to restore the default search engines. |
359 """ |
358 """ |
360 from .OpenSearchDefaultEngines import OpenSearchDefaultEngines |
|
361 from .OpenSearchReader import OpenSearchReader |
359 from .OpenSearchReader import OpenSearchReader |
362 |
360 from .DefaultSearchEngines import DefaultSearchEngines_rc # __IGNORE_WARNING__ |
|
361 |
|
362 defaultEngineFiles = ["YouTube.xml", "Amazoncom.xml", "Bing.xml", |
|
363 "DeEn_Beolingus.xml", "Facebook.xml", |
|
364 "Google_Im_Feeling_Lucky.xml", "Google.xml", |
|
365 "LEO_DeuEng.xml", "LinuxMagazin.xml", |
|
366 "Reddit.xml", "Wikia_en.xml", "Wikia.xml", |
|
367 "Wikipedia.xml", "Wiktionary.xml", "Yahoo.xml"] |
|
368 # Keep this list in sync with the contents of the resource file. |
|
369 |
363 reader = OpenSearchReader() |
370 reader = OpenSearchReader() |
364 for engine in OpenSearchDefaultEngines: |
371 for engineFileName in defaultEngineFiles: |
365 engineDescription = QByteArray(OpenSearchDefaultEngines[engine]) |
372 engineFile = QFile(":/" + engineFileName) |
366 buffer_ = QBuffer(engineDescription) |
373 if not engineFile.open(QIODevice.ReadOnly): |
367 if not buffer_.open(QIODevice.ReadOnly): |
|
368 continue |
374 continue |
369 |
375 engine = reader.read(engineFile) |
370 engine = reader.read(buffer_) |
|
371 |
|
372 self.__addEngineByEngine(engine) |
376 self.__addEngineByEngine(engine) |
373 |
377 |
374 def enginesDirectory(self): |
378 def enginesDirectory(self): |
375 """ |
379 """ |
376 Public method to determine the directory containing the search engine |
380 Public method to determine the directory containing the search engine |