sync from local backup
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Baidu Translation API response codes and messages enumeration
|
||||
|
||||
This module contains all response codes and messages used by BaiduFanyiView
|
||||
for standardized API responses.
|
||||
"""
|
||||
|
||||
from enum import IntEnum, Enum
|
||||
|
||||
|
||||
class BaiduResponseCode(IntEnum):
|
||||
"""Baidu translation API response codes (5-digit numbers)"""
|
||||
# Success codes (10000-19999)
|
||||
SUCCESS = 10000
|
||||
TRANSLATION_SUCCESS = 10001
|
||||
LANGUAGE_RECOGNITION_SUCCESS = 10002
|
||||
PICTURE_TRANSLATION_SUCCESS = 10003
|
||||
SPEECH_RECOGNITION_SUCCESS = 10004
|
||||
|
||||
# Error codes (20000-29999)
|
||||
PARAMETER_ERROR = 20001
|
||||
TEXT_TOO_LONG = 20002
|
||||
INVALID_LANGUAGE_CODE = 20003
|
||||
LANGUAGE_NOT_SUPPORTED = 20004
|
||||
PICTURE_FORMAT_ERROR = 20005
|
||||
AUDIO_FORMAT_ERROR = 20006
|
||||
SERVICE_UNAVAILABLE = 20007
|
||||
NETWORK_ERROR = 20008
|
||||
API_KEY_ERROR = 20009
|
||||
|
||||
|
||||
class BaiduResponseMessage(Enum):
|
||||
"""Baidu translation API response messages"""
|
||||
# Success messages
|
||||
SUCCESS = "Success"
|
||||
TRANSLATION_SUCCESS = "Translation completed successfully"
|
||||
LANGUAGE_RECOGNITION_SUCCESS = "Language recognition completed successfully"
|
||||
PICTURE_TRANSLATION_SUCCESS = "Picture translation completed successfully"
|
||||
SPEECH_RECOGNITION_SUCCESS = "Speech recognition completed successfully"
|
||||
|
||||
# Error messages
|
||||
PARAMETER_ERROR = "Parameter error"
|
||||
TEXT_TOO_LONG = "Text length exceeds limit (3000 characters)"
|
||||
INVALID_LANGUAGE_CODE = "Invalid language code"
|
||||
LANGUAGE_NOT_SUPPORTED = "Language not supported"
|
||||
PICTURE_FORMAT_ERROR = "Picture format error"
|
||||
AUDIO_FORMAT_ERROR = "Audio format error"
|
||||
SERVICE_UNAVAILABLE = "Service temporarily unavailable"
|
||||
NETWORK_ERROR = "Network connection failed"
|
||||
API_KEY_ERROR = "API key authentication failed"
|
||||
|
||||
|
||||
def get_baidu_response_message(code: BaiduResponseCode) -> str:
|
||||
"""
|
||||
Get response message by Baidu response code
|
||||
|
||||
Args:
|
||||
code: BaiduResponseCode enum value
|
||||
|
||||
Returns:
|
||||
Corresponding message string
|
||||
"""
|
||||
try:
|
||||
return BaiduResponseMessage(code.value).value
|
||||
except ValueError:
|
||||
return BaiduResponseMessage.PARAMETER_ERROR.value
|
||||
|
||||
|
||||
def create_baidu_standardized_response(data=None, code: BaiduResponseCode = BaiduResponseCode.SUCCESS, status_code=200):
|
||||
"""
|
||||
Create standardized Baidu API response
|
||||
|
||||
Args:
|
||||
data: Response data (optional)
|
||||
code: BaiduResponseCode enum value
|
||||
status_code: HTTP status code
|
||||
|
||||
Returns:
|
||||
Standardized response dictionary
|
||||
"""
|
||||
return {
|
||||
"message": get_baidu_response_message(code),
|
||||
"code": str(code.value).zfill(5),
|
||||
"data": data if data is not None else {}
|
||||
}
|
||||
|
||||
|
||||
def create_baidu_error_response(message: str = None, code: BaiduResponseCode = BaiduResponseCode.SERVICE_UNAVAILABLE, status_code=400):
|
||||
"""
|
||||
Create standardized Baidu API error response
|
||||
|
||||
Args:
|
||||
message: Custom error message (optional)
|
||||
code: BaiduResponseCode enum value
|
||||
status_code: HTTP status code
|
||||
|
||||
Returns:
|
||||
Standardized error response dictionary
|
||||
"""
|
||||
actual_message = message if message else get_baidu_response_message(code)
|
||||
return {
|
||||
"message": actual_message,
|
||||
"code": str(code.value).zfill(5),
|
||||
"data": {}
|
||||
}
|
||||
Reference in New Issue
Block a user