| 1 |
- {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "label": "migrate_crm_customer.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L1"}, {"id": "scripts_migrate_crm_customer_stepstats", "label": "StepStats", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L79"}, {"id": "scripts_migrate_crm_customer_migrationstats", "label": "MigrationStats", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L87"}, {"id": "scripts_migrate_crm_customer_migrationstats_step", "label": ".step()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L91"}, {"id": "scripts_migrate_crm_customer_legacy_id_to_str", "label": "legacy_id_to_str()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L97"}, {"id": "scripts_migrate_crm_customer_derive_source_url", "label": "derive_source_url()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L106"}, {"id": "scripts_migrate_crm_customer_load_settings_env", "label": "load_settings_env()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L110"}, {"id": "scripts_migrate_crm_customer_load_runtime_settings", "label": "load_runtime_settings()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L126"}, {"id": "scripts_migrate_crm_customer_load_user_mapping", "label": "load_user_mapping()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L132"}, {"id": "scripts_migrate_crm_customer_fetch_portal_admin_id", "label": "fetch_portal_admin_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L150"}, {"id": "scripts_migrate_crm_customer_resolve_portal_user_id", "label": "resolve_portal_user_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L158"}, {"id": "scripts_migrate_crm_customer_load_oss_id_to_url", "label": "load_oss_id_to_url()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L184"}, {"id": "scripts_migrate_crm_customer_normalize_customer_type", "label": "normalize_customer_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L193"}, {"id": "scripts_migrate_crm_customer_normalize_follow_type", "label": "normalize_follow_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L210"}, {"id": "scripts_migrate_crm_customer_dec", "label": "_dec()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L215"}, {"id": "scripts_migrate_crm_customer_str_or_none", "label": "_str_or_none()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L221"}, {"id": "scripts_migrate_crm_customer_fetch_source_rows", "label": "fetch_source_rows()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L230"}, {"id": "scripts_migrate_crm_customer_target_row_exists", "label": "target_row_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L237"}, {"id": "scripts_migrate_crm_customer_transform_customer", "label": "transform_customer()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L241"}, {"id": "scripts_migrate_crm_customer_transform_contact", "label": "transform_contact()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L310"}, {"id": "scripts_migrate_crm_customer_transform_follow", "label": "transform_follow()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L354"}, {"id": "scripts_migrate_crm_customer_transform_pool", "label": "transform_pool()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L392"}, {"id": "scripts_migrate_crm_customer_write_mapping_csv", "label": "write_mapping_csv()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L502"}, {"id": "scripts_migrate_crm_customer_migrate_table", "label": "migrate_table()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L513"}, {"id": "scripts_migrate_crm_customer_print_report", "label": "print_report()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L559"}, {"id": "scripts_migrate_crm_customer_run_migration", "label": "run_migration()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L573"}, {"id": "scripts_migrate_crm_customer_main", "label": "main()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L615"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L20", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L21", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "urllib_parse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "sqlalchemy_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "minio_url", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L35", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_stepstats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L79", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_migrationstats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L87", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrationstats", "target": "scripts_migrate_crm_customer_migrationstats_step", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L91", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_legacy_id_to_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L97", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_derive_source_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L106", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_load_settings_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L110", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_load_runtime_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L126", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_load_user_mapping", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L132", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_fetch_portal_admin_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L150", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_resolve_portal_user_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L158", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_load_oss_id_to_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L184", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_normalize_customer_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L193", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_normalize_follow_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L210", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L215", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_str_or_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L221", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_fetch_source_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L230", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_target_row_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L237", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_transform_customer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L241", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_transform_contact", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L310", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_transform_follow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L354", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_transform_pool", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L392", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_write_mapping_csv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L502", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_migrate_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L513", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_print_report", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L559", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_run_migration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L573", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "scripts_migrate_crm_customer_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L615", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrationstats_step", "target": "scripts_migrate_crm_customer_stepstats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L93", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_customer", "target": "scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L249", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_customer", "target": "scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L259", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_customer", "target": "scripts_migrate_crm_customer_normalize_customer_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L260", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_customer", "target": "scripts_migrate_crm_customer_dec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L283", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_contact", "target": "scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L317", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_contact", "target": "scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L326", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_follow", "target": "scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L362", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_follow", "target": "scripts_migrate_crm_customer_resolve_portal_user_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L364", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_follow", "target": "scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L370", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_follow", "target": "scripts_migrate_crm_customer_normalize_follow_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L373", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_pool", "target": "scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L399", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_transform_pool", "target": "scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L410", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_write_mapping_csv", "target": "scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L509", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrate_table", "target": "scripts_migrate_crm_customer_migrationstats_step", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L527", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrate_table", "target": "scripts_migrate_crm_customer_fetch_source_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L528", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrate_table", "target": "scripts_migrate_crm_customer_transform_customer", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L532", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrate_table", "target": "scripts_migrate_crm_customer_transform_contact", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L533", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrate_table", "target": "scripts_migrate_crm_customer_transform_follow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L534", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrate_table", "target": "scripts_migrate_crm_customer_transform_pool", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L535", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_migrate_table", "target": "scripts_migrate_crm_customer_target_row_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L547", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_print_report", "target": "scripts_migrate_crm_customer_migrationstats_step", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L563", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_run_migration", "target": "scripts_migrate_crm_customer_migrationstats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L585", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_run_migration", "target": "scripts_migrate_crm_customer_load_user_mapping", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L586", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_run_migration", "target": "scripts_migrate_crm_customer_fetch_portal_admin_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L588", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_run_migration", "target": "scripts_migrate_crm_customer_load_oss_id_to_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L589", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_run_migration", "target": "scripts_migrate_crm_customer_migrate_table", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L595", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_run_migration", "target": "scripts_migrate_crm_customer_write_mapping_csv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L609", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_run_migration", "target": "scripts_migrate_crm_customer_print_report", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L611", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_main", "target": "scripts_migrate_crm_customer_load_settings_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L631", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_main", "target": "scripts_migrate_crm_customer_load_runtime_settings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L632", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_main", "target": "scripts_migrate_crm_customer_derive_source_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L634", "weight": 1.0}, {"source": "scripts_migrate_crm_customer_main", "target": "scripts_migrate_crm_customer_run_migration", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L640", "weight": 1.0}], "raw_calls": [{"caller_nid": "scripts_migrate_crm_customer_legacy_id_to_str", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L98"}, {"caller_nid": "scripts_migrate_crm_customer_legacy_id_to_str", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L98"}, {"caller_nid": "scripts_migrate_crm_customer_legacy_id_to_str", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L101"}, {"caller_nid": "scripts_migrate_crm_customer_legacy_id_to_str", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L101"}, {"caller_nid": "scripts_migrate_crm_customer_legacy_id_to_str", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L103"}, {"caller_nid": "scripts_migrate_crm_customer_legacy_id_to_str", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L103"}, {"caller_nid": "scripts_migrate_crm_customer_derive_source_url", "callee": "urlunparse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L107"}, {"caller_nid": "scripts_migrate_crm_customer_derive_source_url", "callee": "_replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L107"}, {"caller_nid": "scripts_migrate_crm_customer_derive_source_url", "callee": "urlparse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L107"}, {"caller_nid": "scripts_migrate_crm_customer_load_settings_env", "callee": "Path", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L117"}, {"caller_nid": "scripts_migrate_crm_customer_load_settings_env", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L118"}, {"caller_nid": "scripts_migrate_crm_customer_load_settings_env", "callee": "is_absolute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L118"}, {"caller_nid": "scripts_migrate_crm_customer_load_settings_env", "callee": "extend", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L119"}, {"caller_nid": "scripts_migrate_crm_customer_load_settings_env", "callee": "is_file", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L121"}, {"caller_nid": "scripts_migrate_crm_customer_load_settings_env", "callee": "load_dotenv", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L122"}, {"caller_nid": "scripts_migrate_crm_customer_load_runtime_settings", "callee": "Settings", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L129"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "open", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L135"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "DictReader", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L136"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L137"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L137"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L138"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L138"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L139"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L139"}, {"caller_nid": "scripts_migrate_crm_customer_load_user_mapping", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L144"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "connect", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L151"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L152"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L152"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L153"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L155"}, {"caller_nid": "scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L167"}, {"caller_nid": "scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L167"}, {"caller_nid": "scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L170"}, {"caller_nid": "scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L172"}, {"caller_nid": "scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L176"}, {"caller_nid": "scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L180"}, {"caller_nid": "scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "connect", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L185"}, {"caller_nid": "scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L186"}, {"caller_nid": "scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "mappings", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L186"}, {"caller_nid": "scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L186"}, {"caller_nid": "scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L187"}, {"caller_nid": "scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L190"}, {"caller_nid": "scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L190"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_customer_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L194"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_customer_type", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L194"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_customer_type", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L200"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_customer_type", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L202"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_customer_type", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L203"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_customer_type", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L204"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_customer_type", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L206"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_follow_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L211"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_follow_type", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L211"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_follow_type", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L212"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_follow_type", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L212"}, {"caller_nid": "scripts_migrate_crm_customer_normalize_follow_type", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L212"}, {"caller_nid": "scripts_migrate_crm_customer_dec", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L218"}, {"caller_nid": "scripts_migrate_crm_customer_dec", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L218"}, {"caller_nid": "scripts_migrate_crm_customer_str_or_none", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L224"}, {"caller_nid": "scripts_migrate_crm_customer_str_or_none", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L224"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_source_rows", "callee": "connect", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L233"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_source_rows", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L234"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_source_rows", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L234"}, {"caller_nid": "scripts_migrate_crm_customer_fetch_source_rows", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L234"}, {"caller_nid": "scripts_migrate_crm_customer_target_row_exists", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L238"}, {"caller_nid": "scripts_migrate_crm_customer_target_row_exists", "callee": "scalar_one", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L238"}, {"caller_nid": "scripts_migrate_crm_customer_target_row_exists", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L238"}, {"caller_nid": "scripts_migrate_crm_customer_target_row_exists", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L238"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L257"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L258"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L259"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L260"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L261"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L262"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L263"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L264"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L265"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L266"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L267"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L268"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L269"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L270"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L271"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L272"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L273"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L274"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L275"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L276"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L277"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L277"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L278"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L279"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L280"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L281"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L281"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L282"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L283"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L283"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L284"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L284"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L285"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L285"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L286"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L286"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L287"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L288"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L288"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L289"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L290"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L291"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L292"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L292"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L293"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L294"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L294"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L295"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L295"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L296"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L296"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L297"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L300"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L301"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L301"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L303"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L303"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L304"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L304"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L305"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L305"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L305"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L306"}, {"caller_nid": "scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L306"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L325"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L326"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L327"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L328"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L329"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L330"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L331"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L332"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L333"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L334"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L335"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L336"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L337"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L338"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L339"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L339"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L340"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L340"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L341"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L344"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L345"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L345"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L347"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L347"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L348"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L348"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L349"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L349"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L349"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L350"}, {"caller_nid": "scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L350"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L364"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L365"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L365"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L369"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L370"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L371"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L372"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L373"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L374"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L375"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L376"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L379"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L382"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L385"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L385"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L386"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L387"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L387"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L387"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L388"}, {"caller_nid": "scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L388"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L405"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L405"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L409"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L410"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L411"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L412"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L412"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L413"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L414"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L414"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L415"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L416"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L419"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L421"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L423"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L423"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L424"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L424"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L425"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L425"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L425"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L426"}, {"caller_nid": "scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L426"}, {"caller_nid": "scripts_migrate_crm_customer_write_mapping_csv", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L503"}, {"caller_nid": "scripts_migrate_crm_customer_write_mapping_csv", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L504"}, {"caller_nid": "scripts_migrate_crm_customer_write_mapping_csv", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L504"}, {"caller_nid": "scripts_migrate_crm_customer_write_mapping_csv", "callee": "open", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L505"}, {"caller_nid": "scripts_migrate_crm_customer_write_mapping_csv", "callee": "DictWriter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L506"}, {"caller_nid": "scripts_migrate_crm_customer_write_mapping_csv", "callee": "writeheader", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L507"}, {"caller_nid": "scripts_migrate_crm_customer_write_mapping_csv", "callee": "writerow", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L510"}, {"caller_nid": "scripts_migrate_crm_customer_migrate_table", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L529"}, {"caller_nid": "scripts_migrate_crm_customer_migrate_table", "callee": "transformers[table]", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L537"}, {"caller_nid": "scripts_migrate_crm_customer_migrate_table", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L540"}, {"caller_nid": "scripts_migrate_crm_customer_migrate_table", "callee": "begin", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L544"}, {"caller_nid": "scripts_migrate_crm_customer_migrate_table", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L554"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L561"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L564"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L566"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L566"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L568"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L569"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L570"}, {"caller_nid": "scripts_migrate_crm_customer_print_report", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L570"}, {"caller_nid": "scripts_migrate_crm_customer_run_migration", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L590"}, {"caller_nid": "scripts_migrate_crm_customer_run_migration", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L590"}, {"caller_nid": "scripts_migrate_crm_customer_run_migration", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L594"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L616"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L617"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L618"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L619"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L620"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L622"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L624"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L625"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L626"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L627"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L628"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L628"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "parse_args", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L629"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L634"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L635"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "split", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L635"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L635"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L637"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "urlparse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L637"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "print", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L638"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "urlparse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L638"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "create_engine", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L641"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "create_engine", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L642"}, {"caller_nid": "scripts_migrate_crm_customer_main", "callee": "Path", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L644"}]}
|