Helpviewer/OpenSearch/OpenSearchEngine.py

changeset 4158
bfb56045bc1f
parent 4021
195a471c327b
child 4326
e52318f11812
child 4330
2c278493b31e
equal deleted inserted replaced
4156:491fcdca9ff4 4158:bfb56045bc1f
13 import json 13 import json
14 14
15 from PyQt5.QtCore import pyqtSignal, pyqtSlot, QLocale, QUrl, QByteArray, \ 15 from PyQt5.QtCore import pyqtSignal, pyqtSlot, QLocale, QUrl, QByteArray, \
16 QBuffer, QIODevice, QObject, qVersion 16 QBuffer, QIODevice, QObject, qVersion
17 from PyQt5.QtGui import QImage 17 from PyQt5.QtGui import QImage
18 from PyQt5.QtNetwork import QNetworkRequest, QNetworkAccessManager 18 from PyQt5.QtNetwork import QNetworkRequest, QNetworkAccessManager, \
19 QNetworkReply
19 20
20 from UI.Info import Program 21 from UI.Info import Program
21 22
22 import Preferences 23 import Preferences
23 import Utilities 24 import Utilities
466 467
467 def __suggestionsObtained(self): 468 def __suggestionsObtained(self):
468 """ 469 """
469 Private slot to receive the suggestions. 470 Private slot to receive the suggestions.
470 """ 471 """
471 buffer = bytes(self.__suggestionsReply.readAll()) 472 if self.__suggestionsReply.error() == QNetworkReply.NoError:
472 response = Utilities.decodeBytes(buffer) 473 buffer = bytes(self.__suggestionsReply.readAll())
473 response = response.strip() 474 response = Utilities.decodeBytes(buffer)
474 475 response = response.strip()
475 self.__suggestionsReply.close() 476
476 self.__suggestionsReply = None 477 self.__suggestionsReply.close()
477 478 self.__suggestionsReply.deleteLater()
478 if len(response) == 0: 479 self.__suggestionsReply = None
479 return 480
480 481 if len(response) == 0:
481 try: 482 return
482 result = json.loads(response) 483
483 except ValueError: 484 try:
484 return 485 result = json.loads(response)
485 486 except ValueError:
486 try: 487 return
487 suggestions = result[1] 488
488 except IndexError: 489 try:
489 return 490 suggestions = result[1]
490 491 except IndexError:
491 self.suggestions.emit(suggestions) 492 return
493
494 self.suggestions.emit(suggestions)
492 495
493 def networkAccessManager(self): 496 def networkAccessManager(self):
494 """ 497 """
495 Public method to get a reference to the network access manager object. 498 Public method to get a reference to the network access manager object.
496 499

eric ide

mercurial