16 |
16 |
17 from googleapiclient import discovery |
17 from googleapiclient import discovery |
18 from google.oauth2.credentials import Credentials |
18 from google.oauth2.credentials import Credentials |
19 from requests_oauthlib import OAuth2Session |
19 from requests_oauthlib import OAuth2Session |
20 |
20 |
21 from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QUrl |
21 from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QUrl, QUrlQuery |
22 from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout |
22 from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout |
23 |
23 |
24 from E5Gui.E5TextInputDialog import E5TextInputDialog |
24 from E5Gui.E5TextInputDialog import E5TextInputDialog |
25 |
25 |
26 import Globals |
26 import Globals |
78 Private slot handling the loadFinished signal. |
78 Private slot handling the loadFinished signal. |
79 """ |
79 """ |
80 url = self.__browser.url() |
80 url = self.__browser.url() |
81 if url.toString().startswith( |
81 if url.toString().startswith( |
82 "https://accounts.google.com/o/oauth2/approval/v2"): |
82 "https://accounts.google.com/o/oauth2/approval/v2"): |
83 if Globals.qVersionTuple() >= (5, 0, 0): |
83 urlQuery = QUrlQuery(url) |
84 from PyQt5.QtCore import QUrlQuery |
84 approvalCode = urlQuery.queryItemValue( |
85 urlQuery = QUrlQuery(url) |
85 "approvalCode", QUrl.FullyDecoded) |
86 approvalCode = urlQuery.queryItemValue( |
|
87 "approvalCode", QUrl.FullyDecoded) |
|
88 else: |
|
89 approvalCode = QUrl.fromPercentEncoding( |
|
90 url.encodedQueryItemValue(b"approvalCode")) |
|
91 if approvalCode: |
86 if approvalCode: |
92 self.approvalCodeReceived.emit(approvalCode) |
87 self.approvalCodeReceived.emit(approvalCode) |
93 self.close() |
88 self.close() |
94 |
89 |
95 def load(self, url): |
90 def load(self, url): |