Fix kdocs login status detection
This commit is contained in:
@@ -204,8 +204,12 @@ class KDocsUploader:
|
|||||||
if login_btn.is_visible(timeout=1500):
|
if login_btn.is_visible(timeout=1500):
|
||||||
return False
|
return False
|
||||||
except Exception:
|
except Exception:
|
||||||
|
return False
|
||||||
return True
|
return True
|
||||||
return True
|
|
||||||
|
def _has_saved_login_state(self) -> bool:
|
||||||
|
storage_state = getattr(config, "KDOCS_LOGIN_STATE_FILE", "data/kdocs_login_state.json")
|
||||||
|
return os.path.exists(storage_state)
|
||||||
|
|
||||||
def _ensure_login_dialog(self) -> None:
|
def _ensure_login_dialog(self) -> None:
|
||||||
try:
|
try:
|
||||||
@@ -264,7 +268,7 @@ class KDocsUploader:
|
|||||||
if not self._open_document(doc_url):
|
if not self._open_document(doc_url):
|
||||||
return {"success": False, "error": self._last_error or "打开文档失败"}
|
return {"success": False, "error": self._last_error or "打开文档失败"}
|
||||||
|
|
||||||
if self._is_logged_in():
|
if self._has_saved_login_state() and self._is_logged_in():
|
||||||
self._login_required = False
|
self._login_required = False
|
||||||
self._last_login_ok = True
|
self._last_login_ok = True
|
||||||
self._save_login_state()
|
self._save_login_state()
|
||||||
@@ -307,6 +311,8 @@ class KDocsUploader:
|
|||||||
if not self._open_document(doc_url):
|
if not self._open_document(doc_url):
|
||||||
return {"success": False, "logged_in": False, "error": self._last_error or "打开文档失败"}
|
return {"success": False, "logged_in": False, "error": self._last_error or "打开文档失败"}
|
||||||
logged_in = self._is_logged_in()
|
logged_in = self._is_logged_in()
|
||||||
|
if not self._has_saved_login_state():
|
||||||
|
logged_in = False
|
||||||
self._last_login_ok = logged_in
|
self._last_login_ok = logged_in
|
||||||
self._login_required = not logged_in
|
self._login_required = not logged_in
|
||||||
if logged_in:
|
if logged_in:
|
||||||
|
|||||||
Reference in New Issue
Block a user