diff --git a/outlook_web/controllers/settings.py b/outlook_web/controllers/settings.py index c130a8e..8ec9075 100644 --- a/outlook_web/controllers/settings.py +++ b/outlook_web/controllers/settings.py @@ -123,7 +123,11 @@ def api_update_settings() -> Any: if "external_api_key" in data: new_external_api_key = str(data["external_api_key"] or "").strip() existing_external_api_key = settings_repo.get_external_api_key() - if new_external_api_key and existing_external_api_key and new_external_api_key == _mask_secret_value(existing_external_api_key): + if ( + new_external_api_key + and existing_external_api_key + and new_external_api_key == _mask_secret_value(existing_external_api_key) + ): updated.append("对外 API Key(未变更)") elif new_external_api_key: encrypted_key = encrypt_data(new_external_api_key) diff --git a/outlook_web/db.py b/outlook_web/db.py index 5e98e6e..284fa68 100644 --- a/outlook_web/db.py +++ b/outlook_web/db.py @@ -423,12 +423,10 @@ def init_db(database_path: Optional[str] = None): ) # PRD-00008 / FD-00008:对外开放 API Key(默认空,建议加密存储) - cursor.execute( - """ + cursor.execute(""" INSERT OR IGNORE INTO settings (key, value) VALUES ('external_api_key', '') - """ - ) + """) # 初始化刷新配置 cursor.execute(""" diff --git a/outlook_web/services/external_api.py b/outlook_web/services/external_api.py index 4c84ce8..c67631f 100644 --- a/outlook_web/services/external_api.py +++ b/outlook_web/services/external_api.py @@ -137,21 +137,13 @@ def _build_message_summary(email_addr: str, item: Dict[str, Any], *, method: str subject = str(item.get("subject") or "无主题") created_at_raw = ( - item.get("receivedDateTime") - or item.get("date") - or item.get("created_at") - or item.get("received_at") - or "" + item.get("receivedDateTime") or item.get("date") or item.get("created_at") or item.get("received_at") or "" ) created_dt = _parse_datetime(str(created_at_raw)) created_at, timestamp = _format_datetime(created_dt, str(created_at_raw)) content_preview = str( - item.get("bodyPreview") - or item.get("body_preview") - or item.get("content_preview") - or item.get("bodyPreview") - or "" + item.get("bodyPreview") or item.get("body_preview") or item.get("content_preview") or item.get("bodyPreview") or "" ) is_read = bool(item.get("isRead") if "isRead" in item else item.get("is_read") or item.get("isRead") or False) diff --git a/tests/test_external_api.py b/tests/test_external_api.py index cb70826..3d8010d 100644 --- a/tests/test_external_api.py +++ b/tests/test_external_api.py @@ -86,7 +86,9 @@ class ExternalApiBaseTest(unittest.TestCase): } @staticmethod - def _graph_detail(message_id: str = "msg-1", body_text: str = "Your code is 123456", html_text: str = "

Your code is 123456

"): + def _graph_detail( + message_id: str = "msg-1", body_text: str = "Your code is 123456", html_text: str = "

Your code is 123456

" + ): return { "id": message_id, "subject": "Your verification code", diff --git a/tests/test_ui_settings_external_api_key.py b/tests/test_ui_settings_external_api_key.py index 9d8b9b4..9e4ec20 100644 --- a/tests/test_ui_settings_external_api_key.py +++ b/tests/test_ui_settings_external_api_key.py @@ -37,4 +37,3 @@ class ExternalApiKeySettingsUITests(unittest.TestCase): if __name__ == "__main__": unittest.main() -