Helpviewer/OpenSearch/OpenSearchEngine.py

changeset 1104
029fde1585ed
parent 945
8cd4d08fa9f6
child 1109
9552b5e16a07
equal deleted inserted replaced
1102:aae999261983 1104:029fde1585ed
15 from PyQt4.QtNetwork import QNetworkRequest, QNetworkAccessManager 15 from PyQt4.QtNetwork import QNetworkRequest, QNetworkAccessManager
16 16
17 from UI.Info import Program 17 from UI.Info import Program
18 18
19 import Preferences 19 import Preferences
20 import Utilities
20 21
21 22
22 class OpenSearchEngine(QObject): 23 class OpenSearchEngine(QObject):
23 """ 24 """
24 Class implementing the open search engine. 25 Class implementing the open search engine.
37 _language = "en" 38 _language = "en"
38 elif loc == "C": 39 elif loc == "C":
39 _language = "" 40 _language = ""
40 else: 41 else:
41 _language = loc[:2] 42 _language = loc[:2]
43 _language = _language.replace("_", "-")
44 _country = _language
45 if "-" in _country:
46 _country = _country[_county.index["-"] + 1:]
42 47
43 def __init__(self, parent=None): 48 def __init__(self, parent=None):
44 """ 49 """
45 Constructor 50 Constructor
46 51
80 result = searchTemplate 85 result = searchTemplate
81 result = result.replace("{count}", "20") 86 result = result.replace("{count}", "20")
82 result = result.replace("{startIndex}", "0") 87 result = result.replace("{startIndex}", "0")
83 result = result.replace("{startPage}", "0") 88 result = result.replace("{startPage}", "0")
84 result = result.replace("{language}", cls._language) 89 result = result.replace("{language}", cls._language)
90 result = result.replace("{country}", cls._country.lower())
85 result = result.replace("{inputEncoding}", "UTF-8") 91 result = result.replace("{inputEncoding}", "UTF-8")
86 result = result.replace("{outputEncoding}", "UTF-8") 92 result = result.replace("{outputEncoding}", "UTF-8")
87 result = result.replace("{searchTerms}", 93 result = result.replace("{searchTerms}",
88 bytes(QUrl.toPercentEncoding(searchTerm)).decode()) 94 bytes(QUrl.toPercentEncoding(searchTerm)).decode())
89 result = re.sub(r"""\{([^\}]*:|)source\??\}""", Program, result) 95 result = re.sub(r"""\{([^\}]*:|)source\??\}""", Program, result)
439 445
440 def __suggestionsObtained(self): 446 def __suggestionsObtained(self):
441 """ 447 """
442 Private slot to receive the suggestions. 448 Private slot to receive the suggestions.
443 """ 449 """
444 response = str(self.__suggestionsReply.readAll(), "utf-8") 450 buffer = bytes(self.__suggestionsReply.readAll())
451 response = Utilities.decode(buffer)[0]
445 response = response.strip() 452 response = response.strip()
446 453
447 self.__suggestionsReply.close() 454 self.__suggestionsReply.close()
448 self.__suggestionsReply = None 455 self.__suggestionsReply = None
449 456

eric ide

mercurial