From ce8862e68cea11ceca3a86563f5fe939edd80110 Mon Sep 17 00:00:00 2001 From: Hetavi Shah Date: Tue, 25 Nov 2025 19:08:10 +0530 Subject: [PATCH] [OND211-2329]: Updated import statements order. --- api/apps/canvas_app.py | 58 ++++++++++++------- api/apps/tenant_app.py | 14 +++-- api/apps/user_app.py | 46 ++++++++++----- .../test_canvas_management/conftest.py | 6 +- .../test_team_management/conftest.py | 2 +- .../test_reject_invite.py | 3 +- .../test_team_management/test_remove_users.py | 3 +- .../test_user_management/conftest.py | 2 +- .../test_user_management/test_create_user.py | 6 +- .../test_user_management/test_delete_user.py | 4 +- .../test_user_management/test_list_user.py | 4 +- .../test_user_management/test_update_user.py | 10 +++- .../test_user_performance.py | 6 +- 13 files changed, 106 insertions(+), 58 deletions(-) diff --git a/api/apps/canvas_app.py b/api/apps/canvas_app.py index 5d055e204..ba98a5dd4 100644 --- a/api/apps/canvas_app.py +++ b/api/apps/canvas_app.py @@ -17,37 +17,55 @@ import json import logging import re import sys +import time from functools import partial -from typing import Dict, Any, Optional +from typing import Any, Dict, Optional + +from peewee import MySQLDatabase, PostgresqlDatabase +from quart import ( + make_response, + request, + Response, +) import trio -from quart import request, Response, make_response + +from agent.canvas import Canvas from agent.component import LLM +from api.apps import current_user, login_required +from api.common.permission_utils import has_permission from api.db import CanvasCategory, FileType -from api.db.services.canvas_service import CanvasTemplateService, UserCanvasService, API4ConversationService +from api.db.db_models import APIToken, Task +from api.db.services.canvas_service import ( + API4ConversationService, + CanvasTemplateService, + UserCanvasService, +) from api.db.services.document_service import DocumentService from api.db.services.file_service import FileService -from api.db.services.pipeline_operation_log_service import PipelineOperationLogService -from api.db.services.task_service import queue_dataflow, CANVAS_DEBUG_DOC_ID, TaskService -from api.db.services.user_service import TenantService +from api.db.services.pipeline_operation_log_service import ( + PipelineOperationLogService, +) +from api.db.services.task_service import ( + CANVAS_DEBUG_DOC_ID, + TaskService, + queue_dataflow, +) +from api.db.services.user_service import TenantService, UserTenantService from api.db.services.user_canvas_version import UserCanvasVersionService -from api.common.permission_utils import has_permission -from common.constants import RetCode -from common.misc_utils import get_uuid -from api.utils.api_utils import get_json_result, server_error_response, validate_request, get_data_error_result, \ - request_json -from agent.canvas import Canvas -from peewee import MySQLDatabase, PostgresqlDatabase -from api.db.db_models import APIToken, Task -import time - +from api.utils.api_utils import ( + get_data_error_result, + get_json_result, + request_json, + server_error_response, + validate_request, +) from api.utils.file_utils import filename_type, read_potential_broken_pdf +from common import settings +from common.constants import RetCode, StatusEnum +from common.misc_utils import get_uuid from rag.flow.pipeline import Pipeline from rag.nlp import search from rag.utils.redis_conn import REDIS_CONN -from common import settings -from api.apps import login_required, current_user -from api.db.services.user_service import UserTenantService -from common.constants import StatusEnum @manager.route('/templates', methods=['GET']) # noqa: F821 @login_required diff --git a/api/apps/tenant_app.py b/api/apps/tenant_app.py index f4dbeea6c..56b0c9df5 100644 --- a/api/apps/tenant_app.py +++ b/api/apps/tenant_app.py @@ -19,7 +19,15 @@ from typing import Any, Dict, List, Optional, Set, Union from quart import request, Response -from api.apps import smtp_mail_server, login_required, current_user +from api.apps import ( + current_user, + login_required, + smtp_mail_server, +) +from api.common.permission_utils import ( + get_user_permissions as get_member_permissions, + update_user_permissions as update_member_permissions, +) from api.db import FileType, UserTenantRole from api.db.db_models import UserTenant from api.db.services.file_service import FileService @@ -37,10 +45,6 @@ from api.utils.api_utils import ( validate_request, ) from api.utils.web_utils import send_invite_email -from api.common.permission_utils import ( - get_user_permissions as get_member_permissions, - update_user_permissions as update_member_permissions, -) from common import settings from common.constants import RetCode, StatusEnum from common.misc_utils import get_uuid diff --git a/api/apps/user_app.py b/api/apps/user_app.py index ce83c3f47..1a065b002 100644 --- a/api/apps/user_app.py +++ b/api/apps/user_app.py @@ -15,29 +15,42 @@ # import json import logging -import string import os import re import secrets +import string import time from datetime import datetime -from typing import Any, Dict, List, Optional, Match +from typing import Any, Dict, List, Match, Optional -from quart import redirect, request, session, make_response, Response +from quart import ( + make_response, + redirect, + request, + Response, + session, +) from werkzeug.security import check_password_hash, generate_password_hash +from api.apps import ( + current_user, + login_required, + login_user, + logout_user, + smtp_mail_server, +) from api.apps.auth import get_auth_client from api.db import FileType, UserTenantRole from api.db.db_models import TenantLLM, User from api.db.services.file_service import FileService from api.db.services.llm_service import get_init_tenant_llm from api.db.services.tenant_llm_service import TenantLLMService -from api.db.services.user_service import TenantService, UserService, UserTenantService -from common.time_utils import current_timestamp, datetime_format, get_format_time -from common.misc_utils import download_img, get_uuid -from common.constants import RetCode -from common.connection_utils import construct_response +from api.db.services.user_service import ( + TenantService, + UserService, + UserTenantService, +) from api.utils.api_utils import ( get_data_error_result, get_json_result, @@ -45,20 +58,23 @@ from api.utils.api_utils import ( validate_request, ) from api.utils.crypt import decrypt -from rag.utils.redis_conn import REDIS_CONN -from api.apps import smtp_mail_server, login_required, current_user, login_user, logout_user from api.utils.web_utils import ( - send_email_html, - OTP_LENGTH, - OTP_TTL_SECONDS, ATTEMPT_LIMIT, ATTEMPT_LOCK_SECONDS, + OTP_LENGTH, + OTP_TTL_SECONDS, RESEND_COOLDOWN_SECONDS, - otp_keys, - hash_code, captcha_key, + hash_code, + otp_keys, + send_email_html, ) from common import settings +from common.connection_utils import construct_response +from common.constants import RetCode +from common.misc_utils import download_img, get_uuid +from common.time_utils import current_timestamp, datetime_format, get_format_time +from rag.utils.redis_conn import REDIS_CONN def sanitize_nickname(nickname: str) -> str: diff --git a/test/testcases/test_http_api/test_canvas_management/conftest.py b/test/testcases/test_http_api/test_canvas_management/conftest.py index 71f07d574..af2c6cd8d 100644 --- a/test/testcases/test_http_api/test_canvas_management/conftest.py +++ b/test/testcases/test_http_api/test_canvas_management/conftest.py @@ -17,10 +17,10 @@ from __future__ import annotations -from pathlib import Path -from typing import List, Any - import importlib.util +from pathlib import Path +from typing import Any, List + import pytest from common import delete_canvas diff --git a/test/testcases/test_http_api/test_team_management/conftest.py b/test/testcases/test_http_api/test_team_management/conftest.py index 62fe9a02d..c11326e76 100644 --- a/test/testcases/test_http_api/test_team_management/conftest.py +++ b/test/testcases/test_http_api/test_team_management/conftest.py @@ -17,13 +17,13 @@ from __future__ import annotations +import importlib.util import os import subprocess import sys from pathlib import Path from typing import List -import importlib.util import pytest diff --git a/test/testcases/test_http_api/test_team_management/test_reject_invite.py b/test/testcases/test_http_api/test_team_management/test_reject_invite.py index 24cf49397..efd1b18bd 100644 --- a/test/testcases/test_http_api/test_team_management/test_reject_invite.py +++ b/test/testcases/test_http_api/test_team_management/test_reject_invite.py @@ -22,6 +22,7 @@ from typing import Any import pytest from common import ( + accept_team_invitation, add_users_to_team, create_team, create_user, @@ -232,8 +233,6 @@ class TestRejectInvite: team_with_invitation: dict[str, Any], ) -> None: """Test rejecting an invitation that has already been accepted.""" - from common import accept_team_invitation - tenant_id: str = team_with_invitation["team"]["id"] invited_user: dict[str, Any] = team_with_invitation["invited_user"] diff --git a/test/testcases/test_http_api/test_team_management/test_remove_users.py b/test/testcases/test_http_api/test_team_management/test_remove_users.py index 2b2de2edf..2cde2ce04 100644 --- a/test/testcases/test_http_api/test_team_management/test_remove_users.py +++ b/test/testcases/test_http_api/test_team_management/test_remove_users.py @@ -22,6 +22,7 @@ from typing import Any import pytest from common import ( + accept_team_invitation, add_users_to_team, create_team, create_user, @@ -362,8 +363,6 @@ class TestRemoveUser: if not test_users: pytest.skip("No test users created") - from common import accept_team_invitation - tenant_id: str = test_team["id"] user_email: str = test_users[0]["email"] diff --git a/test/testcases/test_http_api/test_user_management/conftest.py b/test/testcases/test_http_api/test_user_management/conftest.py index e6154bc77..f367b060d 100644 --- a/test/testcases/test_http_api/test_user_management/conftest.py +++ b/test/testcases/test_http_api/test_user_management/conftest.py @@ -18,12 +18,12 @@ from __future__ import annotations import base64 +import importlib.util import os import uuid from pathlib import Path from typing import Any -import importlib.util import pytest from Cryptodome.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 from Cryptodome.PublicKey import RSA diff --git a/test/testcases/test_http_api/test_user_management/test_create_user.py b/test/testcases/test_http_api/test_user_management/test_create_user.py index 68cbfe0f9..6796f976a 100644 --- a/test/testcases/test_http_api/test_user_management/test_create_user.py +++ b/test/testcases/test_http_api/test_user_management/test_create_user.py @@ -18,7 +18,11 @@ from __future__ import annotations import base64 import os import uuid -from concurrent.futures import Future, ThreadPoolExecutor, as_completed +from concurrent.futures import ( + Future, + ThreadPoolExecutor, + as_completed, +) from typing import Any import pytest diff --git a/test/testcases/test_http_api/test_user_management/test_delete_user.py b/test/testcases/test_http_api/test_user_management/test_delete_user.py index 7bfcdb0e4..a689bb7dc 100644 --- a/test/testcases/test_http_api/test_user_management/test_delete_user.py +++ b/test/testcases/test_http_api/test_user_management/test_delete_user.py @@ -15,7 +15,9 @@ # from __future__ import annotations +import importlib.util import uuid +from pathlib import Path from typing import Any import pytest @@ -25,8 +27,6 @@ from configs import INVALID_API_TOKEN from libs.auth import RAGFlowHttpApiAuth, RAGFlowWebApiAuth # Import from conftest - load it directly to avoid import issues -import importlib.util -from pathlib import Path _conftest_path = Path(__file__).parent / "conftest.py" spec = importlib.util.spec_from_file_location("conftest", _conftest_path) diff --git a/test/testcases/test_http_api/test_user_management/test_list_user.py b/test/testcases/test_http_api/test_user_management/test_list_user.py index 019e7a470..9dd789712 100644 --- a/test/testcases/test_http_api/test_user_management/test_list_user.py +++ b/test/testcases/test_http_api/test_user_management/test_list_user.py @@ -15,7 +15,9 @@ # from __future__ import annotations +import importlib.util import uuid +from pathlib import Path from typing import Any import pytest @@ -25,8 +27,6 @@ from configs import INVALID_API_TOKEN from libs.auth import RAGFlowHttpApiAuth, RAGFlowWebApiAuth # Import from conftest - load it directly to avoid import issues -import importlib.util -from pathlib import Path _conftest_path = Path(__file__).parent / "conftest.py" spec = importlib.util.spec_from_file_location("conftest", _conftest_path) diff --git a/test/testcases/test_http_api/test_user_management/test_update_user.py b/test/testcases/test_http_api/test_user_management/test_update_user.py index 31efced6f..acb608ed9 100644 --- a/test/testcases/test_http_api/test_user_management/test_update_user.py +++ b/test/testcases/test_http_api/test_user_management/test_update_user.py @@ -15,8 +15,14 @@ # from __future__ import annotations +import importlib.util import uuid -from concurrent.futures import Future, ThreadPoolExecutor, as_completed +from concurrent.futures import ( + Future, + ThreadPoolExecutor, + as_completed, +) +from pathlib import Path from typing import Any import pytest @@ -26,8 +32,6 @@ from configs import INVALID_API_TOKEN from libs.auth import RAGFlowHttpApiAuth, RAGFlowWebApiAuth # Import from conftest - load it directly to avoid import issues -import importlib.util -from pathlib import Path _conftest_path = Path(__file__).parent / "conftest.py" spec = importlib.util.spec_from_file_location("conftest", _conftest_path) diff --git a/test/testcases/test_http_api/test_user_management/test_user_performance.py b/test/testcases/test_http_api/test_user_management/test_user_performance.py index c8ad05f07..04348ea66 100644 --- a/test/testcases/test_http_api/test_user_management/test_user_performance.py +++ b/test/testcases/test_http_api/test_user_management/test_user_performance.py @@ -19,7 +19,11 @@ from __future__ import annotations import time import uuid -from concurrent.futures import Future, ThreadPoolExecutor, as_completed +from concurrent.futures import ( + Future, + ThreadPoolExecutor, + as_completed, +) from typing import Any import pytest