fix: auto-fix code issues (cron)

- 修复重复导入/字段
- 修复异常处理
- 修复PEP8格式问题
- 添加类型注解
This commit is contained in:
OpenClaw Bot
2026-02-27 18:09:24 +08:00
parent 646b64daf7
commit 17bda3dbce
38 changed files with 1993 additions and 1972 deletions

View File

@@ -10,14 +10,14 @@ InsightFlow Phase 8 - 全球化与本地化管理模块
作者: InsightFlow Team
"""
import sqlite3
import json
import uuid
from datetime import datetime
from typing import Optional, List, Dict, Any
from dataclasses import dataclass
from enum import Enum
import logging
import sqlite3
import uuid
from dataclasses import dataclass
from datetime import datetime
from enum import StrEnum
from typing import Any
try:
import pytz
@@ -36,7 +36,7 @@ except ImportError:
logger = logging.getLogger(__name__)
class LanguageCode(str, Enum):
class LanguageCode(StrEnum):
"""支持的语言代码"""
EN = "en"
@@ -53,7 +53,7 @@ class LanguageCode(str, Enum):
HI = "hi"
class RegionCode(str, Enum):
class RegionCode(StrEnum):
"""区域代码"""
GLOBAL = "global"
@@ -65,7 +65,7 @@ class RegionCode(str, Enum):
MIDDLE_EAST = "me"
class DataCenterRegion(str, Enum):
class DataCenterRegion(StrEnum):
"""数据中心区域"""
US_EAST = "us-east"
@@ -79,7 +79,7 @@ class DataCenterRegion(str, Enum):
CN_EAST = "cn-east"
class PaymentProvider(str, Enum):
class PaymentProvider(StrEnum):
"""支付提供商"""
STRIPE = "stripe"
@@ -96,7 +96,7 @@ class PaymentProvider(str, Enum):
UNIONPAY = "unionpay"
class CalendarType(str, Enum):
class CalendarType(StrEnum):
"""日历类型"""
GREGORIAN = "gregorian"
@@ -115,12 +115,12 @@ class Translation:
language: str
value: str
namespace: str
context: Optional[str]
context: str | None
created_at: datetime
updated_at: datetime
is_reviewed: bool
reviewed_by: Optional[str]
reviewed_at: Optional[datetime]
reviewed_by: str | None
reviewed_at: datetime | None
@dataclass
@@ -131,7 +131,7 @@ class LanguageConfig:
is_rtl: bool
is_active: bool
is_default: bool
fallback_language: Optional[str]
fallback_language: str | None
date_format: str
time_format: str
datetime_format: str
@@ -150,8 +150,8 @@ class DataCenter:
endpoint: str
status: str
priority: int
supported_regions: List[str]
capabilities: Dict[str, Any]
supported_regions: list[str]
capabilities: dict[str, Any]
created_at: datetime
updated_at: datetime
@@ -161,7 +161,7 @@ class TenantDataCenterMapping:
id: str
tenant_id: str
primary_dc_id: str
secondary_dc_id: Optional[str]
secondary_dc_id: str | None
region_code: str
data_residency: str
created_at: datetime
@@ -173,15 +173,15 @@ class LocalizedPaymentMethod:
id: str
provider: str
name: str
name_local: Dict[str, str]
supported_countries: List[str]
supported_currencies: List[str]
name_local: dict[str, str]
supported_countries: list[str]
supported_currencies: list[str]
is_active: bool
config: Dict[str, Any]
icon_url: Optional[str]
config: dict[str, Any]
icon_url: str | None
display_order: int
min_amount: Optional[float]
max_amount: Optional[float]
min_amount: float | None
max_amount: float | None
created_at: datetime
updated_at: datetime
@@ -191,20 +191,20 @@ class CountryConfig:
code: str
code3: str
name: str
name_local: Dict[str, str]
name_local: dict[str, str]
region: str
default_language: str
supported_languages: List[str]
supported_languages: list[str]
default_currency: str
supported_currencies: List[str]
supported_currencies: list[str]
timezone: str
calendar_type: str
date_format: Optional[str]
time_format: Optional[str]
number_format: Optional[str]
address_format: Optional[str]
phone_format: Optional[str]
vat_rate: Optional[float]
date_format: str | None
time_format: str | None
number_format: str | None
address_format: str | None
phone_format: str | None
vat_rate: float | None
is_active: bool
@@ -213,7 +213,7 @@ class TimezoneConfig:
id: str
timezone: str
utc_offset: str
dst_offset: Optional[str]
dst_offset: str | None
country_code: str
region: str
is_active: bool
@@ -223,7 +223,7 @@ class TimezoneConfig:
class CurrencyConfig:
code: str
name: str
name_local: Dict[str, str]
name_local: dict[str, str]
symbol: str
decimal_places: int
decimal_separator: str
@@ -236,13 +236,13 @@ class LocalizationSettings:
id: str
tenant_id: str
default_language: str
supported_languages: List[str]
supported_languages: list[str]
default_currency: str
supported_currencies: List[str]
supported_currencies: list[str]
default_timezone: str
default_date_format: Optional[str]
default_time_format: Optional[str]
default_number_format: Optional[str]
default_date_format: str | None
default_time_format: str | None
default_number_format: str | None
calendar_type: str
first_day_of_week: int
region_code: str
@@ -940,7 +940,7 @@ class LocalizationManager:
def get_translation(
self, key: str, language: str, namespace: str = "common", fallback: bool = True
) -> Optional[str]:
) -> str | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -962,7 +962,7 @@ class LocalizationManager:
self._close_if_file_db(conn)
def set_translation(
self, key: str, language: str, value: str, namespace: str = "common", context: Optional[str] = None
self, key: str, language: str, value: str, namespace: str = "common", context: str | None = None
) -> Translation:
conn = self._get_connection()
try:
@@ -985,7 +985,7 @@ class LocalizationManager:
def _get_translation_internal(
self, conn: sqlite3.Connection, key: str, language: str, namespace: str
) -> Optional[Translation]:
) -> Translation | None:
cursor = conn.cursor()
cursor.execute(
"SELECT * FROM translations WHERE key = ? AND language = ? AND namespace = ?", (key, language, namespace)
@@ -1008,8 +1008,8 @@ class LocalizationManager:
self._close_if_file_db(conn)
def list_translations(
self, language: Optional[str] = None, namespace: Optional[str] = None, limit: int = 1000, offset: int = 0
) -> List[Translation]:
self, language: str | None = None, namespace: str | None = None, limit: int = 1000, offset: int = 0
) -> list[Translation]:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1029,7 +1029,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def get_language_config(self, code: str) -> Optional[LanguageConfig]:
def get_language_config(self, code: str) -> LanguageConfig | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1041,7 +1041,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def list_language_configs(self, active_only: bool = True) -> List[LanguageConfig]:
def list_language_configs(self, active_only: bool = True) -> list[LanguageConfig]:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1055,7 +1055,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def get_data_center(self, dc_id: str) -> Optional[DataCenter]:
def get_data_center(self, dc_id: str) -> DataCenter | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1067,7 +1067,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def get_data_center_by_region(self, region_code: str) -> Optional[DataCenter]:
def get_data_center_by_region(self, region_code: str) -> DataCenter | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1079,7 +1079,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def list_data_centers(self, status: Optional[str] = None, region: Optional[str] = None) -> List[DataCenter]:
def list_data_centers(self, status: str | None = None, region: str | None = None) -> list[DataCenter]:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1098,7 +1098,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def get_tenant_data_center(self, tenant_id: str) -> Optional[TenantDataCenterMapping]:
def get_tenant_data_center(self, tenant_id: str) -> TenantDataCenterMapping | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1159,7 +1159,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def get_payment_method(self, provider: str) -> Optional[LocalizedPaymentMethod]:
def get_payment_method(self, provider: str) -> LocalizedPaymentMethod | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1172,8 +1172,8 @@ class LocalizationManager:
self._close_if_file_db(conn)
def list_payment_methods(
self, country_code: Optional[str] = None, currency: Optional[str] = None, active_only: bool = True
) -> List[LocalizedPaymentMethod]:
self, country_code: str | None = None, currency: str | None = None, active_only: bool = True
) -> list[LocalizedPaymentMethod]:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1194,7 +1194,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def get_localized_payment_methods(self, country_code: str, language: str = "en") -> List[Dict[str, Any]]:
def get_localized_payment_methods(self, country_code: str, language: str = "en") -> list[dict[str, Any]]:
methods = self.list_payment_methods(country_code=country_code)
result = []
for method in methods:
@@ -1212,7 +1212,7 @@ class LocalizationManager:
)
return result
def get_country_config(self, code: str) -> Optional[CountryConfig]:
def get_country_config(self, code: str) -> CountryConfig | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1224,7 +1224,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def list_country_configs(self, region: Optional[str] = None, active_only: bool = True) -> List[CountryConfig]:
def list_country_configs(self, region: str | None = None, active_only: bool = True) -> list[CountryConfig]:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1243,7 +1243,7 @@ class LocalizationManager:
self._close_if_file_db(conn)
def format_datetime(
self, dt: datetime, language: str = "en", timezone: Optional[str] = None, format_type: str = "datetime"
self, dt: datetime, language: str = "en", timezone: str | None = None, format_type: str = "datetime"
) -> str:
try:
if timezone and PYTZ_AVAILABLE:
@@ -1276,7 +1276,7 @@ class LocalizationManager:
logger.error(f"Error formatting datetime: {e}")
return dt.strftime("%Y-%m-%d %H:%M")
def format_number(self, number: float, language: str = "en", decimal_places: Optional[int] = None) -> str:
def format_number(self, number: float, language: str = "en", decimal_places: int | None = None) -> str:
try:
if BABEL_AVAILABLE:
try:
@@ -1319,7 +1319,7 @@ class LocalizationManager:
logger.error(f"Error converting timezone: {e}")
return dt
def get_calendar_info(self, calendar_type: str, year: int, month: int) -> Dict[str, Any]:
def get_calendar_info(self, calendar_type: str, year: int, month: int) -> dict[str, Any]:
import calendar
cal = calendar.Calendar()
@@ -1334,7 +1334,7 @@ class LocalizationManager:
"weeks": month_days,
}
def get_localization_settings(self, tenant_id: str) -> Optional[LocalizationSettings]:
def get_localization_settings(self, tenant_id: str) -> LocalizationSettings | None:
conn = self._get_connection()
try:
cursor = conn.cursor()
@@ -1350,9 +1350,9 @@ class LocalizationManager:
self,
tenant_id: str,
default_language: str = "en",
supported_languages: Optional[List[str]] = None,
supported_languages: list[str] | None = None,
default_currency: str = "USD",
supported_currencies: Optional[List[str]] = None,
supported_currencies: list[str] | None = None,
default_timezone: str = "UTC",
region_code: str = "global",
data_residency: str = "regional",
@@ -1397,7 +1397,7 @@ class LocalizationManager:
finally:
self._close_if_file_db(conn)
def update_localization_settings(self, tenant_id: str, **kwargs) -> Optional[LocalizationSettings]:
def update_localization_settings(self, tenant_id: str, **kwargs) -> LocalizationSettings | None:
conn = self._get_connection()
try:
settings = self.get_localization_settings(tenant_id)
@@ -1441,8 +1441,8 @@ class LocalizationManager:
self._close_if_file_db(conn)
def detect_user_preferences(
self, accept_language: Optional[str] = None, ip_country: Optional[str] = None
) -> Dict[str, str]:
self, accept_language: str | None = None, ip_country: str | None = None
) -> dict[str, str]:
preferences = {"language": "en", "country": "US", "timezone": "UTC", "currency": "USD"}
if accept_language:
langs = accept_language.split(",")