gyiK, dZddlZddlZddlmZmZmZedeZej ej ej ej e Z ej e ddZej e ddZedd g d Zedd g d Zedd g dZeddg dZedd g dZedd g dZdS)uN 随机参数配置管理API 提供随机参数配置的读取和保存功能 N) Blueprintrequestjsonifyrandom_options model_promptzadvanced_random_options.jsonzadvanced_random_selection.jsonz/api/random-optionsGET)methodsc  tjtst ddddfSt tdd5}t j|}dddn #1swxYwYt d |d S#t j$r.}t dd t|dd fcYd}~Sd}~wt$r.}t dd t|dd fcYd}~Sd}~wwxYw)u 获取随机参数配置 返回参数: - success: bool, 是否成功 - data: dict, 随机参数配置数据 - error: str, 错误信息(如果失败) F配置文件不存在successerrorrutf-8encodingNTr datau配置文件格式错误: u读取配置失败: ) ospathexistsCONFIG_FILE_PATHropenjsonloadJSONDecodeErrorstr Exception)fres 7/root/new_image_generate/backend/apis/random_options.pyget_random_optionsr$sw~~.//  0  "C' : : : a9Q<sI:#%% 611 F  v& +t,,  <  +0022  OHeh,, HNN4D4D $C   edC[11 $UUUU   %&& !  D%dC00 &',%Z%Z%Z%Z((           BGOO$455EEEE"C' : : : Da Ik15 C C C C D D D D D D D D D D D D D D D+     4CFF44           sa,G 0G AG 85G .A G 8AG F." G .F22G 5F26G H#G>8H>Hz/api/random-options/categoryc` tj}|rd|vrtddddfS|d}|dg}|stddddfSt jtrDttdd 5}tj |}d d d n #1swxYwYni}||vrtdd |d ddfSt|tr|ng||<ttdd 5}tj||ddd d d n #1swxYwYtdd |d|dS#t$r.}tddt!|ddfcYd }~Sd }~wwxYw)uE 添加新类别 请求参数: - name: str, 类别名称 - items: list, 词条列表(可选,默认为空数组) 返回参数: - success: bool, 是否成功 - message: str, 成功消息 - data: dict, 更新后的配置数据 - error: str, 错误信息(如果失败) nameFu+请求参数无效,需要提供name字段r r(r6u类别名称不能为空rrrNr)u " 已存在r,r-r.Tu" 添加成功r r2ru添加类别失败: r)rr3rr7getrrrrrrrr4r8r;r r)r< category_namer6r!r=r"s r# add_categoryrFs1#%% 611 F  !(..00  Wb))  3  7>>* + + &g>>> +!"ill  + + + + + + + + + + + + + + +K K ' ' >M>>>  /9.E.E%MUU2 M""C' : : : Da Ik15 C C C C D D D D D D D D D D D D D D D?-???     4CFF44           sw,E5AE55;E50C E5CE5C!E5;3E5.E E5EE5EE55 F-?#F("F-(F-z,/api/random-options/category/DELETEcj tjtst ddddfSt tdd5}t j|}dddn #1swxYwY||vrt dd |d ddfS||=t td d5}t j||dd dddn #1swxYwYt dd |d|dS#t$r.}t ddt|ddfcYd}~Sd}~wwxYw)u  删除类别 路径参数: - category_name: str, 类别名称 返回参数: - success: bool, 是否成功 - message: str, 成功消息 - data: dict, 更新后的配置数据 - error: str, 错误信息(如果失败) Fr r rrrrNr)u " 不存在r,r-r.Tu" 删除成功rCu删除类别失败: r) rrrrrrrrr;r r)rEr!r=r"s r#delete_categoryrIsH!w~~.//  0  "C' : : : 'a)A,,K ' ' ' ' ' ' ' ' ' ' ' ' ' ' '  + + >M>>>   &"C' : : : Da Ik15 C C C C D D D D D D D D D D D D D D D?-???     4CFF44           sp7C:C:A2& C:2A66C:9A6:C:C:3C C:CC:C C:: D2#D-'D2-D2z/api/random-options/selectionc tjtstjtrt tdd5}t j|}dddn #1swxYwYi}|D]7\}}t|tr| ||<2d||<8td|dStdidSt tdd5}t j|}dddn #1swxYwYtd|dS#t j $r.}tddt|d d fcYd}~Sd}~wt$r.}tdd t|d d fcYd}~Sd}~wwxYw) ur 获取勾选状态配置 返回参数: - success: bool, 是否成功 - data: dict, 勾选状态数据 - 格式: { "类别名": ["已勾选的词条1", "已勾选的词条2", ...] } - 如果类别的值为 true,表示该类别整体被勾选(用于字符串类型的类别) - error: str, 错误信息(如果失败) rrrNTrFu 勾选状态文件格式错误: r ru读取勾选状态失败: )rrrSELECTION_FILE_PATHrrrrr6r4r8copyrrrr )r!r=selection_datar>r6r"s r# get_selectionrNs,w~~122 w~~.// *C'BBB/a"&)A,,K///////////////"$'2'8'8':':88OHe!%..838::<<x0037x00#*   #   %sW = = = *!Yq\\N * * * * * * * * * * * * * * *"      @A@@            :#a&&::           sAE!B6 EBE B A"E-E?ED7+ E7D;;E>D;?EG##F G G#G<GGcX tj}|rd|vrtddddfS|d}t|tstddddfSt jt jtdttd d 5}tj ||dd dddn #1swxYwYtdddS#t$r.}tddt|ddfcYd}~Sd}~wwxYw)u 保存勾选状态配置 请求参数: - data: dict, 勾选状态数据 - 格式: { "类别名": ["已勾选的词条1", "已勾选的词条2", ...] } - 如果类别的值为 true,表示该类别整体被勾选(用于字符串类型的类别) 返回参数: - success: bool, 是否成功 - message: str, 成功消息 - error: str, 错误信息(如果失败) rFr'r r(u'勾选状态数据必须是对象类型Tr*r,rrr-r.Nu勾选状态保存成功r1u保存勾选状态失败: r)rr3rr4r5rr9rr:rKrrr;r r)r<rMr!r"s r#save_selectionrP8s"#%% 611 F  "&).$//  B  BGOO$7884HHHH%sW = = = G InaeA F F F F G G G G G G G G G G G G G G G1     :#a&&::           sM,C10C1 AC1/C C1CC1CC11 D);#D$D)$D))__doc__rrflaskrrr__name__random_options_bprr:abspath__file__ PROJECT_ROOTjoinrrKrouter$r@rFrIrNrPr#r\s  ----------I.99wrwrwrwx?X?X/Y/YZZ[[ 7<< n>\]]gll<Aabb.@@""A@"J.AAFFBAFR7&JJ??KJ?DGRZQ[\\..]\.b85'JJ77KJ7t86(KK00LK000r[