Преглед на файлове

Chore/remove-unused-code (#5917)

-LAN- преди 9 месеца
родител
ревизия
d7f75d17cc
променени са 4 файла, в които са добавени 11 реда и са изтрити 36 реда
  1. 3 1
      api/app.py
  2. 2 4
      api/core/app/apps/workflow/app_generator.py
  3. 0 21
      api/core/model_runtime/utils/_compat.py
  4. 6 10
      api/core/model_runtime/utils/encoders.py

+ 3 - 1
api/app.py

@@ -2,7 +2,7 @@ import os
 
 
 from configs import dify_config
 from configs import dify_config
 
 
-if not os.environ.get("DEBUG") or os.environ.get("DEBUG", "false").lower() != 'true':
+if os.environ.get("DEBUG", "false").lower() != 'true':
     from gevent import monkey
     from gevent import monkey
 
 
     monkey.patch_all()
     monkey.patch_all()
@@ -43,6 +43,8 @@ from extensions import (
 from extensions.ext_database import db
 from extensions.ext_database import db
 from extensions.ext_login import login_manager
 from extensions.ext_login import login_manager
 from libs.passport import PassportService
 from libs.passport import PassportService
+
+# TODO: Find a way to avoid importing models here
 from models import account, dataset, model, source, task, tool, tools, web
 from models import account, dataset, model, source, task, tool, tools, web
 from services.account_service import AccountService
 from services.account_service import AccountService
 
 

+ 2 - 4
api/core/app/apps/workflow/app_generator.py

@@ -94,7 +94,6 @@ class WorkflowAppGenerator(BaseAppGenerator):
             application_generate_entity=application_generate_entity,
             application_generate_entity=application_generate_entity,
             invoke_from=invoke_from,
             invoke_from=invoke_from,
             stream=stream,
             stream=stream,
-            call_depth=call_depth,
         )
         )
 
 
     def _generate(
     def _generate(
@@ -104,7 +103,6 @@ class WorkflowAppGenerator(BaseAppGenerator):
         application_generate_entity: WorkflowAppGenerateEntity,
         application_generate_entity: WorkflowAppGenerateEntity,
         invoke_from: InvokeFrom,
         invoke_from: InvokeFrom,
         stream: bool = True,
         stream: bool = True,
-        call_depth: int = 0
     ) -> Union[dict, Generator[dict, None, None]]:
     ) -> Union[dict, Generator[dict, None, None]]:
         """
         """
         Generate App response.
         Generate App response.
@@ -166,10 +164,10 @@ class WorkflowAppGenerator(BaseAppGenerator):
         """
         """
         if not node_id:
         if not node_id:
             raise ValueError('node_id is required')
             raise ValueError('node_id is required')
-        
+
         if args.get('inputs') is None:
         if args.get('inputs') is None:
             raise ValueError('inputs is required')
             raise ValueError('inputs is required')
-        
+
         extras = {
         extras = {
             "auto_generate_conversation_name": False
             "auto_generate_conversation_name": False
         }
         }

+ 0 - 21
api/core/model_runtime/utils/_compat.py

@@ -1,21 +0,0 @@
-from typing import Any, Literal
-
-from pydantic import BaseModel
-from pydantic.version import VERSION as PYDANTIC_VERSION
-
-PYDANTIC_V2 = PYDANTIC_VERSION.startswith("2.")
-
-if PYDANTIC_V2:
-    from pydantic_core import Url as Url
-
-    def _model_dump(
-        model: BaseModel, mode: Literal["json", "python"] = "json", **kwargs: Any
-    ) -> Any:
-        return model.model_dump(mode=mode, **kwargs)
-else:
-    from pydantic import AnyUrl as Url  # noqa: F401
-
-    def _model_dump(
-        model: BaseModel, mode: Literal["json", "python"] = "json", **kwargs: Any
-    ) -> Any:
-        return model.dict(**kwargs)

+ 6 - 10
api/core/model_runtime/utils/encoders.py

@@ -8,16 +8,20 @@ from ipaddress import IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6
 from pathlib import Path, PurePath
 from pathlib import Path, PurePath
 from re import Pattern
 from re import Pattern
 from types import GeneratorType
 from types import GeneratorType
-from typing import Any, Optional, Union
+from typing import Any, Literal, Optional, Union
 from uuid import UUID
 from uuid import UUID
 
 
 from pydantic import BaseModel
 from pydantic import BaseModel
 from pydantic.networks import AnyUrl, NameEmail
 from pydantic.networks import AnyUrl, NameEmail
 from pydantic.types import SecretBytes, SecretStr
 from pydantic.types import SecretBytes, SecretStr
+from pydantic_core import Url
 from pydantic_extra_types.color import Color
 from pydantic_extra_types.color import Color
 
 
-from ._compat import PYDANTIC_V2, Url, _model_dump
 
 
+def _model_dump(
+    model: BaseModel, mode: Literal["json", "python"] = "json", **kwargs: Any
+) -> Any:
+    return model.model_dump(mode=mode, **kwargs)
 
 
 # Taken from Pydantic v1 as is
 # Taken from Pydantic v1 as is
 def isoformat(o: Union[datetime.date, datetime.time]) -> str:
 def isoformat(o: Union[datetime.date, datetime.time]) -> str:
@@ -109,12 +113,6 @@ def jsonable_encoder(
                 if isinstance(obj, encoder_type):
                 if isinstance(obj, encoder_type):
                     return encoder_instance(obj)
                     return encoder_instance(obj)
     if isinstance(obj, BaseModel):
     if isinstance(obj, BaseModel):
-        # TODO: remove when deprecating Pydantic v1
-        encoders: dict[Any, Any] = {}
-        if not PYDANTIC_V2:
-            encoders = getattr(obj.__config__, "json_encoders", {})  # type: ignore[attr-defined]
-            if custom_encoder:
-                encoders.update(custom_encoder)
         obj_dict = _model_dump(
         obj_dict = _model_dump(
             obj,
             obj,
             mode="json",
             mode="json",
@@ -131,8 +129,6 @@ def jsonable_encoder(
             obj_dict,
             obj_dict,
             exclude_none=exclude_none,
             exclude_none=exclude_none,
             exclude_defaults=exclude_defaults,
             exclude_defaults=exclude_defaults,
-            # TODO: remove when deprecating Pydantic v1
-            custom_encoder=encoders,
             sqlalchemy_safe=sqlalchemy_safe,
             sqlalchemy_safe=sqlalchemy_safe,
         )
         )
     if dataclasses.is_dataclass(obj):
     if dataclasses.is_dataclass(obj):