重构image_upload.py
This commit is contained in:
parent
a4cce52bf1
commit
68b4357670
@ -8,6 +8,7 @@ import logging
|
|||||||
import os
|
import os
|
||||||
from jingrow.model.page import Page
|
from jingrow.model.page import Page
|
||||||
from jingrow.config import Config
|
from jingrow.config import Config
|
||||||
|
from jingrow.utils.jingrow_api import upload_file_to_jingrow
|
||||||
|
|
||||||
_local = {}
|
_local = {}
|
||||||
|
|
||||||
@ -117,6 +118,29 @@ def get_field_value_from_jingrow(pagetype: str, name: str, fieldname: str):
|
|||||||
return Page(pagetype).get_field_value_from_jingrow(name, fieldname)
|
return Page(pagetype).get_field_value_from_jingrow(name, fieldname)
|
||||||
|
|
||||||
|
|
||||||
|
def upload_file(file_data: bytes, filename: str, attached_to_pagetype: Optional[str] = None, attached_to_name: Optional[str] = None, attached_to_field: Optional[str] = None):
|
||||||
|
"""
|
||||||
|
上传文件到Jingrow服务器
|
||||||
|
|
||||||
|
Args:
|
||||||
|
file_data (bytes): 文件二进制数据
|
||||||
|
filename (str): 文件名
|
||||||
|
attached_to_pagetype (str, optional): 关联的页面类型
|
||||||
|
attached_to_name (str, optional): 关联的记录名称
|
||||||
|
attached_to_field (str, optional): 关联的字段名称
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
dict: 上传结果
|
||||||
|
{
|
||||||
|
'success': bool,
|
||||||
|
'file_url': str, # 成功时返回文件URL
|
||||||
|
'file_name': str, # 成功时返回文件名
|
||||||
|
'error': str # 失败时返回错误信息
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
return upload_file_to_jingrow(file_data, filename, attached_to_pagetype, attached_to_name, attached_to_field)
|
||||||
|
|
||||||
|
|
||||||
def map_fields_by_labels(field_map: list, ai_outputs: dict, label_to_fieldname: dict) -> dict:
|
def map_fields_by_labels(field_map: list, ai_outputs: dict, label_to_fieldname: dict) -> dict:
|
||||||
"""
|
"""
|
||||||
根据 field_map 将 ai_outputs 映射为记录字段数据。
|
根据 field_map 将 ai_outputs 映射为记录字段数据。
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import uuid
|
|||||||
import base64
|
import base64
|
||||||
import requests
|
import requests
|
||||||
from jingrow.config import Config
|
from jingrow.config import Config
|
||||||
from jingrow.utils.jingrow_api import upload_file_to_jingrow, get_field_mapping_from_jingrow, get_field_value_from_jingrow
|
import jingrow
|
||||||
from jingrow.utils.auth import get_jingrow_api_headers
|
from jingrow.utils.auth import get_jingrow_api_headers
|
||||||
|
|
||||||
def log_info(message):
|
def log_info(message):
|
||||||
@ -204,7 +204,7 @@ def execute(context=None, inputs=None, config=None, **kwargs):
|
|||||||
|
|
||||||
if save_field:
|
if save_field:
|
||||||
# 获取字段映射(label到fieldname)
|
# 获取字段映射(label到fieldname)
|
||||||
label2field = get_field_mapping_from_jingrow(attached_to_pagetype)
|
label2field = jingrow.get_field_mapping_from_jingrow(attached_to_pagetype)
|
||||||
|
|
||||||
# 确定目标字段名
|
# 确定目标字段名
|
||||||
target_field = save_field
|
target_field = save_field
|
||||||
@ -216,7 +216,7 @@ def execute(context=None, inputs=None, config=None, **kwargs):
|
|||||||
|
|
||||||
# 检查字段值是否为空
|
# 检查字段值是否为空
|
||||||
if target_field:
|
if target_field:
|
||||||
current_field_value = get_field_value_from_jingrow(
|
current_field_value = jingrow.get_field_value_from_jingrow(
|
||||||
attached_to_pagetype,
|
attached_to_pagetype,
|
||||||
attached_to_name,
|
attached_to_name,
|
||||||
target_field
|
target_field
|
||||||
@ -227,7 +227,7 @@ def execute(context=None, inputs=None, config=None, **kwargs):
|
|||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
upload_result = upload_file_to_jingrow(
|
upload_result = jingrow.upload_file(
|
||||||
file_data=raw_image_data,
|
file_data=raw_image_data,
|
||||||
filename=filename,
|
filename=filename,
|
||||||
attached_to_pagetype=attached_to_pagetype,
|
attached_to_pagetype=attached_to_pagetype,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user