5f8edef24a1d596ffb3dc6de6660cf4f762f254cc1cd3cd82f51910aff81b5e1.json 25 KB

1
  1. {"nodes": [{"id": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "label": "price_updates.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L1"}, {"id": "ws_price_updates_pricelistupdatedevent", "label": "PriceListUpdatedEvent", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L19"}, {"id": "ws_price_updates_pricelistupdatedevent_to_message", "label": ".to_message()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L25"}, {"id": "ws_price_updates_regionwsmanager", "label": "RegionWSManager", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L37"}, {"id": "ws_price_updates_regionwsmanager_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L40"}, {"id": "ws_price_updates_regionwsmanager_connect", "label": ".connect()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L44"}, {"id": "ws_price_updates_regionwsmanager_disconnect", "label": ".disconnect()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L74"}, {"id": "ws_price_updates_regionwsmanager_broadcast_region", "label": ".broadcast_region()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L86"}, {"id": "ws_price_updates_ws_mini_price_updates", "label": "ws_mini_price_updates()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L123"}, {"id": "ws_price_updates_notify_price_list_updated", "label": "notify_price_list_updated()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L163"}, {"id": "ws_price_updates_register_ws_routes", "label": "register_ws_routes()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L184"}, {"id": "ws_price_updates_rationale_1", "label": "WebSocket\uff1a\u533a\u57df\u4ef7\u683c\u6e05\u5355\u66f4\u65b0\u63a8\u9001\uff08\u5ba2\u6237\u7aef\u5b9e\u65f6\u5237\u65b0\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L1"}, {"id": "ws_price_updates_rationale_38", "label": "\u6309 region_id \u7ba1\u7406 websocket \u8fde\u63a5\u5e76\u5e7f\u64ad\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L38"}, {"id": "ws_price_updates_rationale_45", "label": "\u9274\u6743\u5e76\u63a5\u5165\u623f\u95f4\u3002\u8fd4\u56de current_user dict\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L45"}, {"id": "ws_price_updates_rationale_87", "label": "\u5411 region \u623f\u95f4\u5e7f\u64ad\u6d88\u606f\u3002\u8fd4\u56de\u5c1d\u8bd5\u53d1\u9001\u7684\u8fde\u63a5\u6570\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L87"}, {"id": "ws_price_updates_rationale_124", "label": "\u5c0f\u7a0b\u5e8f\u7aef WebSocket \u5165\u53e3\uff1a/ws/mini", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L124"}, {"id": "ws_price_updates_rationale_185", "label": "\u5728 FastAPI app \u4e0a\u6ce8\u518c websocket \u8def\u7531\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L185"}], "edges": [{"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "dataclasses", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "anyio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "app_core_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "app_core_auth", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "ws_price_updates_pricelistupdatedevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L19", "weight": 1.0}, {"source": "ws_price_updates_pricelistupdatedevent", "target": "ws_price_updates_pricelistupdatedevent_to_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "ws_price_updates_regionwsmanager", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L37", "weight": 1.0}, {"source": "ws_price_updates_regionwsmanager", "target": "ws_price_updates_regionwsmanager_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L40", "weight": 1.0}, {"source": "ws_price_updates_regionwsmanager", "target": "ws_price_updates_regionwsmanager_connect", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L44", "weight": 1.0}, {"source": "ws_price_updates_regionwsmanager", "target": "ws_price_updates_regionwsmanager_disconnect", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L74", "weight": 1.0}, {"source": "ws_price_updates_regionwsmanager", "target": "ws_price_updates_regionwsmanager_broadcast_region", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L86", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "ws_price_updates_ws_mini_price_updates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L123", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "ws_price_updates_notify_price_list_updated", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L163", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "target": "ws_price_updates_register_ws_routes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L184", "weight": 1.0}, {"source": "ws_price_updates_ws_mini_price_updates", "target": "ws_price_updates_regionwsmanager_connect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L138", "weight": 1.0}, {"source": "ws_price_updates_ws_mini_price_updates", "target": "ws_price_updates_regionwsmanager_disconnect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L160", "weight": 1.0}, {"source": "ws_price_updates_rationale_1", "target": "users_wuzilong_work_00code_sqxp_2_backend_app_ws_price_updates_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L1", "weight": 1.0}, {"source": "ws_price_updates_rationale_38", "target": "ws_price_updates_regionwsmanager", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L38", "weight": 1.0}, {"source": "ws_price_updates_rationale_45", "target": "ws_price_updates_regionwsmanager_connect", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L45", "weight": 1.0}, {"source": "ws_price_updates_rationale_87", "target": "ws_price_updates_regionwsmanager_broadcast_region", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L87", "weight": 1.0}, {"source": "ws_price_updates_rationale_124", "target": "ws_price_updates_ws_mini_price_updates", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L124", "weight": 1.0}, {"source": "ws_price_updates_rationale_185", "target": "ws_price_updates_register_ws_routes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L185", "weight": 1.0}], "raw_calls": [{"caller_nid": "ws_price_updates_regionwsmanager_init", "callee": "Lock", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L41"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "SessionLocal", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L47"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "get_current_user_by_token", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L49"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "close", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L51"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L53"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L53"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L55"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L55"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "close", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L56"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "RuntimeError", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L57"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "accept", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L59"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "add", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L62"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "setdefault", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L62"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "set", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L62"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "len", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L63"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L63"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "set", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L63"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L64"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L66"}, {"caller_nid": "ws_price_updates_regionwsmanager_connect", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L67"}, {"caller_nid": "ws_price_updates_regionwsmanager_disconnect", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L76"}, {"caller_nid": "ws_price_updates_regionwsmanager_disconnect", "callee": "remove", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L80"}, {"caller_nid": "ws_price_updates_regionwsmanager_disconnect", "callee": "len", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L81"}, {"caller_nid": "ws_price_updates_regionwsmanager_disconnect", "callee": "pop", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L83"}, {"caller_nid": "ws_price_updates_regionwsmanager_disconnect", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L84"}, {"caller_nid": "ws_price_updates_regionwsmanager_disconnect", "callee": "locals", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L84"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "list", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L89"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L89"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "set", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L89"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L92"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L92"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L95"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L98"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "len", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L99"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "send_json", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L104"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "append", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L106"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L110"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "discard", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L113"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "pop", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L115"}, {"caller_nid": "ws_price_updates_regionwsmanager_broadcast_region", "callee": "len", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L117"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L125"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L125"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L128"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L128"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L129"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L129"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L130"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L133"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "close", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L134"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "exception", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L140"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "close", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L143"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L148"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L148"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "receive_text", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L152"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L154"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L154"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "exception", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L157"}, {"caller_nid": "ws_price_updates_ws_mini_price_updates", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L157"}, {"caller_nid": "ws_price_updates_notify_price_list_updated", "callee": "get_running_loop", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L177"}, {"caller_nid": "ws_price_updates_notify_price_list_updated", "callee": "create_task", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L178"}, {"caller_nid": "ws_price_updates_notify_price_list_updated", "callee": "_run", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L178"}, {"caller_nid": "ws_price_updates_notify_price_list_updated", "callee": "run", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L181"}, {"caller_nid": "ws_price_updates_register_ws_routes", "callee": "app.websocket(\"/ws/mini\")", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L186"}, {"caller_nid": "ws_price_updates_register_ws_routes", "callee": "websocket", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/ws/price_updates.py", "source_location": "L186"}]}