diff --git a/desktop_client/__main__.py b/desktop_client/__main__.py index 3687a48..2fb3c76 100644 --- a/desktop_client/__main__.py +++ b/desktop_client/__main__.py @@ -8,11 +8,7 @@ from state import State if __name__ == "__main__": dotenv.load_dotenv() url = os.environ.get("DRIVE_HOST_URL") - if not url: - url = "localhost:3000" - else: - url = url.strip() app = QApplication(sys.argv) - window = State(url) + window = State() window.show() sys.exit(app.exec()) diff --git a/desktop_client/auth.py b/desktop_client/auth.py index 9154f59..f1d4421 100644 --- a/desktop_client/auth.py +++ b/desktop_client/auth.py @@ -58,7 +58,7 @@ class RegisterWidget(QWidget): try: response = RequestClient().client.post( - "http://localhost:3000/users/register", + "/users/register", data={ "username": username, "email": email, @@ -79,6 +79,7 @@ class RegisterWidget(QWidget): self, "Error", f"Registration failed: {response.text}" ) except httpx.HTTPError as e: + print(e) QMessageBox.critical(self, "HTTP Error", str(e)) @@ -116,12 +117,14 @@ class LoginWidget(QWidget): password = self.password_input.text() if not username or not password: - QMessageBox.warning(self, "Input Error", "Email and Password are required") + QMessageBox.warning( + self, "Input Error", "Email and Password are required" + ) return try: response = RequestClient().client.post( - "http://localhost:3000/users/authorize", + "/users/authorize", data={"username": username, "password": password}, ) if response.is_success: @@ -129,8 +132,12 @@ class LoginWidget(QWidget): if access_token: self.switcher.login(access_token) else: - QMessageBox.warning(self, "Error", "No access token received") + QMessageBox.warning( + self, "Error", "No access token received" + ) else: - QMessageBox.warning(self, "Error", f"Login failed: {response.text}") + QMessageBox.warning( + self, "Error", f"Login failed: {response.text}" + ) except httpx.HTTPError as e: QMessageBox.critical(self, "HTTP Error", str(e)) diff --git a/desktop_client/request_client.py b/desktop_client/request_client.py index 7e59321..4ffa676 100644 --- a/desktop_client/request_client.py +++ b/desktop_client/request_client.py @@ -9,9 +9,9 @@ class RequestClient: def __new__(cls) -> Self: if cls._client is None: - url = os.environ.get("DRIVE_HOST_URL").strip() - if not url: - url = "localhost:3000" + url = os.environ.get("DRIVE_HOST_URL") + if url is None: + url = "https://drive.stnicolay.ru" cls._client = httpx.Client(base_url=url) return super().__new__(cls) diff --git a/desktop_client/state.py b/desktop_client/state.py index 84b5775..6dfbd9b 100644 --- a/desktop_client/state.py +++ b/desktop_client/state.py @@ -1,20 +1,18 @@ import auth import file_widgets -import httpx import keyring import request_client import sync -from PyQt6.QtWidgets import QMainWindow, QStackedWidget +from PyQt6.QtWidgets import QMainWindow, QStackedWidget, QMessageBox class State(QMainWindow): - def __init__(self, url: str): + def __init__(self): super().__init__() self.setWindowTitle("Auth App") self.stack = QStackedWidget() - self.client = httpx.Client(base_url=url) self.register_widget = auth.RegisterWidget(self) self.login_widget = auth.LoginWidget(self) @@ -38,15 +36,22 @@ class State(QMainWindow): self.stack.setCurrentWidget(self.register_widget) def login(self, token: str): - keyring.set_password("auth_app", "access_token", token) - request_client.RequestClient().set_token(token) - sync.SyncData.sync_all( - # "/home/stnicolay/backups", - # uuid.UUID("0191397f-ae77-7b2a-bed7-9d28ed56a90a"), - ) - self.file_widget = file_widgets.MainFileWidget(self) - self.stack.addWidget(self.file_widget) - self.stack.setCurrentWidget(self.file_widget) + try: + keyring.set_password("auth_app", "access_token", token) + request_client.RequestClient().set_token(token) + sync.SyncData.sync_all( + # "/home/stnicolay/backups", + # uuid.UUID("0191397f-ae77-7b2a-bed7-9d28ed56a90a"), + ) + self.file_widget = file_widgets.MainFileWidget(self) + self.stack.addWidget(self.file_widget) + self.stack.setCurrentWidget(self.file_widget) + except Exception as e: + print(e) + keyring.delete_password("auth_app", "access_token") + QMessageBox.information( + None, "Error logging in", "Error logging in" + ) def logout(self): keyring.delete_password("auth_app", "access_token")