o >gC @sbddlmZddlmZddlmZmZmZmZddl m Z ddl m Z ddl ZGdddZdS) )web)Optional) models_diruser_directoryoutput_directoryfolder_names_and_paths) FileService)TerminalServiceNc@s(eZdZdZddZddZddZdS) InternalRoutesz The top level web router for internal routes: /internal/* The endpoints here should NOT be depended upon. It is for ComfyUI frontend use only. Check README.md for more information. cCs6t|_d|_ttttd|_||_ t ||_ dS)N)modelsuseroutput) r RouteTableDefroutes_apprrrr file_service prompt_serverr terminal_service)selfrrT/home/comdoleger1/zen-flux-style-shape/api_server/routes/internal/internal_routes.py__init__s  zInternalRoutes.__init__cstjdfdd}jddd}jdfdd}jd fd d }jd d d}dS)Nz/filesc s|jdd}zj|}td|iWSty3}ztjdt|iddWYd}~Sd}~wtyO}ztjdt|iddWYd}~Sd}~ww)N directoryfileserroristatusi) querygetr list_filesr json_response ValueErrorstr Exception)requestZ directory_key file_listerrrr s ""z/InternalRoutes.setup_routes..list_filesz/logscs"tdddtjDS)NrcSs g|] }|dd|dqS)tz - mr).0lrrr (s zAInternalRoutes.setup_routes..get_logs..)rr!joinapploggerget_logsr%rrrr1&s z-InternalRoutes.setup_routes..get_logsz /logs/rawcs4jtttjjjjj ddS)N)colsrows)entriessize) rZ update_sizerr!listr/r0r1r3r4r2r(rrr1*s   z/logs/subscribecsJ|IdH}|d}|d}|rj|nj|tjddS)NclientIdenabledr)jsonrZ subscribeZ unsubscriberResponse)r% json_data client_idr9r(rrsubscribe_logs2s  z3InternalRoutes.setup_routes..subscribe_logsz /folder_pathscs*i}tD] }t|d||<qt|S)Nr)rrr!)r%responsekeyrrrget_folder_paths?s  z5InternalRoutes.setup_routes..get_folder_paths)rrpatch)rr r1r?rBrr(r setup_routess     zInternalRoutes.setup_routescCs0|jdurt|_||j|j|jS)N)rr ApplicationrD add_routesrr(rrrget_appFs  zInternalRoutes.get_appN)__name__ __module__ __qualname____doc__rrDrGrrrrr s  ,r )aiohttprtypingr folder_pathsrrrrZ api_server.services.file_servicerZ$api_server.services.terminal_servicer app.loggerr/r rrrrs