| 1 |
- {"nodes": [{"id": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "label": "storage.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L1"}, {"id": "core_storage_convert_heic_to_jpeg", "label": "convert_heic_to_jpeg()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L36"}, {"id": "core_storage_process_image_content", "label": "process_image_content()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L51"}, {"id": "core_storage_basestorage", "label": "BaseStorage", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L60"}, {"id": "core_storage_basestorage_upload_file", "label": ".upload_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L63"}, {"id": "core_storage_basestorage_upload_base64", "label": ".upload_base64()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L67"}, {"id": "core_storage_basestorage_delete_file", "label": ".delete_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L71"}, {"id": "core_storage_basestorage_get_url", "label": ".get_url()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L75"}, {"id": "core_storage_localstorage", "label": "LocalStorage", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L80"}, {"id": "core_storage_localstorage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L83"}, {"id": "core_storage_localstorage_ensure_dir", "label": "._ensure_dir()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L87"}, {"id": "core_storage_localstorage_generate_filename", "label": "._generate_filename()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L93"}, {"id": "core_storage_localstorage_upload_file", "label": ".upload_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L99"}, {"id": "core_storage_localstorage_upload_base64", "label": ".upload_base64()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L114"}, {"id": "core_storage_localstorage_delete_file", "label": ".delete_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L123"}, {"id": "core_storage_localstorage_get_url", "label": ".get_url()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L140"}, {"id": "core_storage_qiniustorage", "label": "QiniuStorage", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L145"}, {"id": "core_storage_qiniustorage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L148"}, {"id": "core_storage_qiniustorage_generate_filename", "label": "._generate_filename()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L157"}, {"id": "core_storage_qiniustorage_upload_file", "label": ".upload_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L163"}, {"id": "core_storage_qiniustorage_upload_base64", "label": ".upload_base64()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L178"}, {"id": "core_storage_qiniustorage_delete_file", "label": ".delete_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L186"}, {"id": "core_storage_qiniustorage_get_url", "label": ".get_url()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L197"}, {"id": "core_storage_ossstorage", "label": "OSSStorage", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L202"}, {"id": "core_storage_ossstorage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L205"}, {"id": "core_storage_ossstorage_generate_filename", "label": "._generate_filename()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L215"}, {"id": "core_storage_ossstorage_upload_file", "label": ".upload_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L221"}, {"id": "core_storage_ossstorage_upload_base64", "label": ".upload_base64()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L232"}, {"id": "core_storage_ossstorage_delete_file", "label": ".delete_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L240"}, {"id": "core_storage_ossstorage_get_url", "label": ".get_url()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L249"}, {"id": "core_storage_miniostorage", "label": "MinIOStorage", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L254"}, {"id": "core_storage_miniostorage_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L257"}, {"id": "core_storage_miniostorage_generate_filename", "label": "._generate_filename()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L275"}, {"id": "core_storage_miniostorage_upload_file", "label": ".upload_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L281"}, {"id": "core_storage_miniostorage_upload_base64", "label": ".upload_base64()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L298"}, {"id": "core_storage_miniostorage_delete_file", "label": ".delete_file()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L306"}, {"id": "core_storage_miniostorage_get_url", "label": ".get_url()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L315"}, {"id": "core_storage_get_storage", "label": "get_storage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L320"}, {"id": "core_storage_rationale_1", "label": "\u6587\u4ef6\u5b58\u50a8\u5de5\u5177\u6a21\u5757 \u652f\u6301\u591a\u79cd\u5b58\u50a8\u65b9\u5f0f\uff1a 1. \u672c\u5730\u5b58\u50a8 (local) - \u9ed8\u8ba4 2. \u4e03\u725b\u4e91\u5b58\u50a8 (qiniu) - \u63a8\u8350\u751f\u4ea7\u73af\u5883\u4f7f\u7528 3. \u963f\u91cc\u4e91", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L1"}, {"id": "core_storage_rationale_37", "label": "\u5c06 HEIC/HEIF \u683c\u5f0f\u8f6c\u6362\u4e3a JPEG \u683c\u5f0f", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L37"}, {"id": "core_storage_rationale_52", "label": "\u5904\u7406\u56fe\u7247\u5185\u5bb9\uff0c\u5982\u679c\u662f HEIC \u683c\u5f0f\u5219\u8f6c\u6362\u4e3a JPEG", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L52"}], "edges": [{"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "os", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "uuid", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "base64", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "io", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "pathlib", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L27", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "app_core_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_convert_heic_to_jpeg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_process_image_content", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_basestorage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L60", "weight": 1.0}, {"source": "core_storage_basestorage", "target": "core_storage_basestorage_upload_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L63", "weight": 1.0}, {"source": "core_storage_basestorage", "target": "core_storage_basestorage_upload_base64", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L67", "weight": 1.0}, {"source": "core_storage_basestorage", "target": "core_storage_basestorage_delete_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L71", "weight": 1.0}, {"source": "core_storage_basestorage", "target": "core_storage_basestorage_get_url", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_localstorage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L80", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_basestorage", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L80", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_localstorage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L83", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_localstorage_ensure_dir", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L87", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_localstorage_generate_filename", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L93", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_localstorage_upload_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L99", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_localstorage_upload_base64", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L114", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_localstorage_delete_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L123", "weight": 1.0}, {"source": "core_storage_localstorage", "target": "core_storage_localstorage_get_url", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L140", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_qiniustorage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L145", "weight": 1.0}, {"source": "core_storage_qiniustorage", "target": "core_storage_basestorage", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L145", "weight": 1.0}, {"source": "core_storage_qiniustorage", "target": "core_storage_qiniustorage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L148", "weight": 1.0}, {"source": "core_storage_qiniustorage", "target": "core_storage_qiniustorage_generate_filename", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L157", "weight": 1.0}, {"source": "core_storage_qiniustorage", "target": "core_storage_qiniustorage_upload_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L163", "weight": 1.0}, {"source": "core_storage_qiniustorage", "target": "core_storage_qiniustorage_upload_base64", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L178", "weight": 1.0}, {"source": "core_storage_qiniustorage", "target": "core_storage_qiniustorage_delete_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L186", "weight": 1.0}, {"source": "core_storage_qiniustorage", "target": "core_storage_qiniustorage_get_url", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L197", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_ossstorage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L202", "weight": 1.0}, {"source": "core_storage_ossstorage", "target": "core_storage_basestorage", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L202", "weight": 1.0}, {"source": "core_storage_ossstorage", "target": "core_storage_ossstorage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L205", "weight": 1.0}, {"source": "core_storage_ossstorage", "target": "core_storage_ossstorage_generate_filename", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L215", "weight": 1.0}, {"source": "core_storage_ossstorage", "target": "core_storage_ossstorage_upload_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L221", "weight": 1.0}, {"source": "core_storage_ossstorage", "target": "core_storage_ossstorage_upload_base64", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L232", "weight": 1.0}, {"source": "core_storage_ossstorage", "target": "core_storage_ossstorage_delete_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L240", "weight": 1.0}, {"source": "core_storage_ossstorage", "target": "core_storage_ossstorage_get_url", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_miniostorage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L254", "weight": 1.0}, {"source": "core_storage_miniostorage", "target": "core_storage_basestorage", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L254", "weight": 1.0}, {"source": "core_storage_miniostorage", "target": "core_storage_miniostorage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L257", "weight": 1.0}, {"source": "core_storage_miniostorage", "target": "core_storage_miniostorage_generate_filename", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L275", "weight": 1.0}, {"source": "core_storage_miniostorage", "target": "core_storage_miniostorage_upload_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L281", "weight": 1.0}, {"source": "core_storage_miniostorage", "target": "core_storage_miniostorage_upload_base64", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L298", "weight": 1.0}, {"source": "core_storage_miniostorage", "target": "core_storage_miniostorage_delete_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L306", "weight": 1.0}, {"source": "core_storage_miniostorage", "target": "core_storage_miniostorage_get_url", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L315", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "target": "core_storage_get_storage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L320", "weight": 1.0}, {"source": "core_storage_process_image_content", "target": "core_storage_convert_heic_to_jpeg", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L56", "weight": 1.0}, {"source": "core_storage_localstorage_upload_file", "target": "core_storage_process_image_content", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L102", "weight": 1.0}, {"source": "core_storage_localstorage_upload_file", "target": "core_storage_localstorage_ensure_dir", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L104", "weight": 1.0}, {"source": "core_storage_localstorage_upload_file", "target": "core_storage_miniostorage_generate_filename", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L105", "weight": 1.0}, {"source": "core_storage_localstorage_upload_file", "target": "core_storage_miniostorage_get_url", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L112", "weight": 1.0}, {"source": "core_storage_localstorage_upload_base64", "target": "core_storage_miniostorage_upload_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L121", "weight": 1.0}, {"source": "core_storage_qiniustorage_upload_file", "target": "core_storage_process_image_content", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L168", "weight": 1.0}, {"source": "core_storage_qiniustorage_upload_file", "target": "core_storage_miniostorage_generate_filename", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L170", "weight": 1.0}, {"source": "core_storage_qiniustorage_upload_file", "target": "core_storage_miniostorage_get_url", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L175", "weight": 1.0}, {"source": "core_storage_qiniustorage_upload_base64", "target": "core_storage_miniostorage_upload_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L184", "weight": 1.0}, {"source": "core_storage_ossstorage_upload_file", "target": "core_storage_process_image_content", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L224", "weight": 1.0}, {"source": "core_storage_ossstorage_upload_file", "target": "core_storage_miniostorage_generate_filename", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L226", "weight": 1.0}, {"source": "core_storage_ossstorage_upload_file", "target": "core_storage_miniostorage_get_url", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L229", "weight": 1.0}, {"source": "core_storage_ossstorage_upload_base64", "target": "core_storage_miniostorage_upload_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L238", "weight": 1.0}, {"source": "core_storage_miniostorage_upload_file", "target": "core_storage_process_image_content", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L284", "weight": 1.0}, {"source": "core_storage_miniostorage_upload_file", "target": "core_storage_miniostorage_generate_filename", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L286", "weight": 1.0}, {"source": "core_storage_miniostorage_upload_file", "target": "core_storage_miniostorage_get_url", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L296", "weight": 1.0}, {"source": "core_storage_miniostorage_upload_base64", "target": "core_storage_miniostorage_upload_file", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L304", "weight": 1.0}, {"source": "core_storage_get_storage", "target": "core_storage_qiniustorage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L325", "weight": 1.0}, {"source": "core_storage_get_storage", "target": "core_storage_ossstorage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L327", "weight": 1.0}, {"source": "core_storage_get_storage", "target": "core_storage_miniostorage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L329", "weight": 1.0}, {"source": "core_storage_get_storage", "target": "core_storage_localstorage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L331", "weight": 1.0}, {"source": "core_storage_rationale_1", "target": "users_wuzilong_work_00code_sqxp_2_backend_app_core_storage_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L1", "weight": 1.0}, {"source": "core_storage_rationale_37", "target": "core_storage_convert_heic_to_jpeg", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L37", "weight": 1.0}, {"source": "core_storage_rationale_52", "target": "core_storage_process_image_content", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L52", "weight": 1.0}], "raw_calls": [{"caller_nid": "core_storage_convert_heic_to_jpeg", "callee": "open", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L42"}, {"caller_nid": "core_storage_convert_heic_to_jpeg", "callee": "BytesIO", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L42"}, {"caller_nid": "core_storage_convert_heic_to_jpeg", "callee": "to_pillow", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L43"}, {"caller_nid": "core_storage_convert_heic_to_jpeg", "callee": "BytesIO", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L44"}, {"caller_nid": "core_storage_convert_heic_to_jpeg", "callee": "save", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L45"}, {"caller_nid": "core_storage_convert_heic_to_jpeg", "callee": "getvalue", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L46"}, {"caller_nid": "core_storage_convert_heic_to_jpeg", "callee": "Exception", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L48"}, {"caller_nid": "core_storage_process_image_content", "callee": "what", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L54"}, {"caller_nid": "core_storage_process_image_content", "callee": "rsplit", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L56"}, {"caller_nid": "core_storage_localstorage_init", "callee": "rstrip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L84"}, {"caller_nid": "core_storage_localstorage_ensure_dir", "callee": "Path", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L89"}, {"caller_nid": "core_storage_localstorage_ensure_dir", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L89"}, {"caller_nid": "core_storage_localstorage_ensure_dir", "callee": "now", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L89"}, {"caller_nid": "core_storage_localstorage_ensure_dir", "callee": "mkdir", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L90"}, {"caller_nid": "core_storage_localstorage_generate_filename", "callee": "splitext", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L95"}, {"caller_nid": "core_storage_localstorage_generate_filename", "callee": "uuid4", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L96"}, {"caller_nid": "core_storage_localstorage_upload_file", "callee": "open", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L108"}, {"caller_nid": "core_storage_localstorage_upload_file", "callee": "write", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L109"}, {"caller_nid": "core_storage_localstorage_upload_file", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L111"}, {"caller_nid": "core_storage_localstorage_upload_file", "callee": "now", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L111"}, {"caller_nid": "core_storage_localstorage_upload_file", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L111"}, {"caller_nid": "core_storage_localstorage_upload_file", "callee": "now", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L111"}, {"caller_nid": "core_storage_localstorage_upload_base64", "callee": "split", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L118"}, {"caller_nid": "core_storage_localstorage_upload_base64", "callee": "b64decode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L120"}, {"caller_nid": "core_storage_localstorage_delete_file", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L127"}, {"caller_nid": "core_storage_localstorage_delete_file", "callee": "lstrip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L128"}, {"caller_nid": "core_storage_localstorage_delete_file", "callee": "replace", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L128"}, {"caller_nid": "core_storage_localstorage_delete_file", "callee": "lstrip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L130"}, {"caller_nid": "core_storage_localstorage_delete_file", "callee": "Path", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L132"}, {"caller_nid": "core_storage_localstorage_delete_file", "callee": "exists", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L133"}, {"caller_nid": "core_storage_localstorage_delete_file", "callee": "unlink", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L134"}, {"caller_nid": "core_storage_qiniustorage_init", "callee": "Auth", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L151"}, {"caller_nid": "core_storage_qiniustorage_init", "callee": "rstrip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L153"}, {"caller_nid": "core_storage_qiniustorage_init", "callee": "ImportError", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L155"}, {"caller_nid": "core_storage_qiniustorage_generate_filename", "callee": "splitext", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L159"}, {"caller_nid": "core_storage_qiniustorage_generate_filename", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L160"}, {"caller_nid": "core_storage_qiniustorage_generate_filename", "callee": "now", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L160"}, {"caller_nid": "core_storage_qiniustorage_generate_filename", "callee": "uuid4", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L160"}, {"caller_nid": "core_storage_qiniustorage_upload_file", "callee": "upload_token", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L171"}, {"caller_nid": "core_storage_qiniustorage_upload_file", "callee": "put_data", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L173"}, {"caller_nid": "core_storage_qiniustorage_upload_file", "callee": "Exception", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L176"}, {"caller_nid": "core_storage_qiniustorage_upload_base64", "callee": "split", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L181"}, {"caller_nid": "core_storage_qiniustorage_upload_base64", "callee": "b64decode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L183"}, {"caller_nid": "core_storage_qiniustorage_delete_file", "callee": "replace", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L191"}, {"caller_nid": "core_storage_qiniustorage_delete_file", "callee": "delete", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L192"}, {"caller_nid": "core_storage_ossstorage_init", "callee": "Auth", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L208"}, {"caller_nid": "core_storage_ossstorage_init", "callee": "Bucket", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L210"}, {"caller_nid": "core_storage_ossstorage_init", "callee": "rstrip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L211"}, {"caller_nid": "core_storage_ossstorage_init", "callee": "ImportError", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L213"}, {"caller_nid": "core_storage_ossstorage_generate_filename", "callee": "splitext", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L217"}, {"caller_nid": "core_storage_ossstorage_generate_filename", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L218"}, {"caller_nid": "core_storage_ossstorage_generate_filename", "callee": "now", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L218"}, {"caller_nid": "core_storage_ossstorage_generate_filename", "callee": "uuid4", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L218"}, {"caller_nid": "core_storage_ossstorage_upload_file", "callee": "put_object", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L227"}, {"caller_nid": "core_storage_ossstorage_upload_file", "callee": "Exception", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L230"}, {"caller_nid": "core_storage_ossstorage_upload_base64", "callee": "split", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L235"}, {"caller_nid": "core_storage_ossstorage_upload_base64", "callee": "b64decode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L237"}, {"caller_nid": "core_storage_ossstorage_delete_file", "callee": "replace", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L243"}, {"caller_nid": "core_storage_ossstorage_delete_file", "callee": "delete_object", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L244"}, {"caller_nid": "core_storage_miniostorage_init", "callee": "Minio", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L260"}, {"caller_nid": "core_storage_miniostorage_init", "callee": "rstrip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L268"}, {"caller_nid": "core_storage_miniostorage_init", "callee": "ImportError", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L273"}, {"caller_nid": "core_storage_miniostorage_generate_filename", "callee": "splitext", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L277"}, {"caller_nid": "core_storage_miniostorage_generate_filename", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L278"}, {"caller_nid": "core_storage_miniostorage_generate_filename", "callee": "now", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L278"}, {"caller_nid": "core_storage_miniostorage_generate_filename", "callee": "uuid4", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L278"}, {"caller_nid": "core_storage_miniostorage_upload_file", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L288"}, {"caller_nid": "core_storage_miniostorage_upload_file", "callee": "BytesIO", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L289"}, {"caller_nid": "core_storage_miniostorage_upload_file", "callee": "put_object", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L290"}, {"caller_nid": "core_storage_miniostorage_upload_file", "callee": "len", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L294"}, {"caller_nid": "core_storage_miniostorage_upload_base64", "callee": "split", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L301"}, {"caller_nid": "core_storage_miniostorage_upload_base64", "callee": "b64decode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L303"}, {"caller_nid": "core_storage_miniostorage_delete_file", "callee": "replace", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L309"}, {"caller_nid": "core_storage_miniostorage_delete_file", "callee": "remove_object", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L310"}, {"caller_nid": "core_storage_get_storage", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/storage.py", "source_location": "L322"}]}
|