Update window.py

Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
This commit is contained in:
2024-02-06 08:07:42 +07:00
parent aa181cf88c
commit e1ed5c9fde

View File

@@ -226,8 +226,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
header = {
"User-Agent": "Api Test",
"Authorization": "Bearer "
"User-Agent": "",
"Authorization": ""
}
@@ -243,11 +243,33 @@ class SearchDialog(QDialog, Ui_SearchDialog):
self.parent = parent
# import tokens from tokens.json
self.tokens = jsonIO.load_json("tokens.json")
header["Authorization"] += self.tokens["access_token"]
if not jsonIO.is_valid_json("tokens.json"):
jsonIO.save_json("tokens.json", {
"useragent": "",
"client_id": "",
"client_secret": "",
"authorization_code": "",
"access_token": "",
"refresh_token": ""
})
QMessageBox.critical(self, "Ошибка", "Заполните 'tokens.json' своими данными чтобы поиск работал корректно!")
self.close()
else:
self.tokens = jsonIO.load_json("tokens.json")
for key, value in self.tokens.items():
if (key != "access_token" or key != "refresh_token") and value == "":
QMessageBox.critical(self, "Ошибка", "Заполните 'tokens.json' своими данными чтобы поиск работал корректно!")
self.close()
if self.tokens["access_token"] == "":
self.get_new_access_token()
self.update_headers()
self.ui.search.clicked.connect(self.search_titles)
def update_headers(self):
header["User-Agent"] = self.tokens["useragent"]
header["Authorization"] = "Bearer {}".format(self.tokens["access_token"])
def get_new_access_token(self):
response = post("https://shikimori.one/oauth/token", headers=header, data={
"grant_type": "authorization_code",
@@ -260,9 +282,10 @@ class SearchDialog(QDialog, Ui_SearchDialog):
self.tokens["access_token"] = new_tokens["access_token"]
self.tokens["refresh_token"] = new_tokens["refresh_token"]
jsonIO.save_json("tokens.json", self.tokens)
# print("got new tokens")
self.update_headers()
print("got new tokens")
def refresh_token(self):
def refresh_access_token(self):
response = post("https://shikimori.one/oauth/token", headers=header, data={
"grant_type": "refresh_token",
"client_id": self.tokens["client_id"],
@@ -274,7 +297,7 @@ class SearchDialog(QDialog, Ui_SearchDialog):
self.tokens["access_token"] = new_tokens["access_token"]
self.tokens["refresh_token"] = new_tokens["refresh_token"]
jsonIO.save_json("tokens.json", self.tokens)
header["Authorization"] = "Bearer " + new_tokens["access_token"]
self.update_headers()
print("tokens updated", new_tokens)
def search_titles(self):
@@ -286,7 +309,7 @@ class SearchDialog(QDialog, Ui_SearchDialog):
# print(response.json())
if response.status_code == 401:
if response.json()["error"] == "invalid_token":
self.refresh_token()
self.refresh_access_token()
# self.search_titles()
return
if response.status_code == 200: