Explorar o código

chore: Optimize I18nObject class for better performance and readability (#8681)

Nam Vu hai 7 meses
pai
achega
c7eacd1aac
Modificáronse 1 ficheiros con 7 adicións e 10 borrados
  1. 7 10
      api/core/tools/entities/common_entities.py

+ 7 - 10
api/core/tools/entities/common_entities.py

@@ -1,6 +1,6 @@
 from typing import Optional
 
-from pydantic import BaseModel
+from pydantic import BaseModel, Field
 
 
 class I18nObject(BaseModel):
@@ -8,19 +8,16 @@ class I18nObject(BaseModel):
     Model class for i18n object.
     """
 
-    zh_Hans: Optional[str] = None
-    pt_BR: Optional[str] = None
-    ja_JP: Optional[str] = None
     en_US: str
+    zh_Hans: Optional[str] = Field(default=None)
+    pt_BR: Optional[str] = Field(default=None)
+    ja_JP: Optional[str] = Field(default=None)
 
     def __init__(self, **data):
         super().__init__(**data)
-        if not self.zh_Hans:
-            self.zh_Hans = self.en_US
-        if not self.pt_BR:
-            self.pt_BR = self.en_US
-        if not self.ja_JP:
-            self.ja_JP = self.en_US
+        self.zh_Hans = self.zh_Hans or self.en_US
+        self.pt_BR = self.pt_BR or self.en_US
+        self.ja_JP = self.ja_JP or self.en_US
 
     def to_dict(self) -> dict:
         return {"zh_Hans": self.zh_Hans, "en_US": self.en_US, "pt_BR": self.pt_BR, "ja_JP": self.ja_JP}