e6305aacda0d2ad3f09d2abc413ff699a7fc22ab2f8e63b3596df8d52bb4550c.json 107 KB

1
  1. {"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "label": "migrate_crm_customer.py", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_stepstats", "label": "StepStats", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L79"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "label": "MigrationStats", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L87"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats_step", "label": ".step()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L91"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "label": "legacy_id_to_str()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L97"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_derive_source_url", "label": "derive_source_url()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L106"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "label": "load_settings_env()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L110"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_runtime_settings", "label": "load_runtime_settings()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L126"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "label": "load_user_mapping()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L132"}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "label": "fetch_portal_admin_id()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L150"}, {"id": "engine", "label": "Engine", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "label": "resolve_portal_user_id()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L158"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "label": "load_oss_id_to_url()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L184"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "label": "normalize_customer_type()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L193"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "label": "normalize_follow_type()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L210"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_dec", "label": "_dec()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L215"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "label": "_str_or_none()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L221"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "label": "fetch_source_rows()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L230"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_target_row_exists", "label": "target_row_exists()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L237"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "label": "transform_customer()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L241"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "label": "transform_contact()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L310"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "label": "transform_follow()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L354"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "label": "transform_pool()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L392"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "label": "write_mapping_csv()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L502"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "label": "migrate_table()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L513"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_print_report", "label": "print_report()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L559"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "label": "run_migration()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L573"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "label": "main()", "file_type": "code", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L615"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "urllib_parse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "sqlalchemy_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L26", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "minio_url", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_stepstats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L79", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L87", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats_step", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L91", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats_step", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_stepstats", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L91", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L97", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L97", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_derive_source_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L106", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L110", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_runtime_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L126", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L132", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L132", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L150", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L150", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L193", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L193", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L193", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L210", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L210", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_dec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L215", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_dec", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L215", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_dec", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L215", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L221", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L221", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L230", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L230", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_target_row_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L237", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L241", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L241", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L354", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L354", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L392", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L392", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L502", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L502", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_print_report", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L559", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_print_report", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L559", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L573", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L573", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L573", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L573", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L573", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L573", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L615", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats_step", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_stepstats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L93", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_dec", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L218", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L259", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L260", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_dec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L283", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L283", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L317", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L326", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L362", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L373", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L399", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L410", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L509", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats_step", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L527", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L528", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L532", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L533", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L534", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L535", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_target_row_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L547", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_print_report", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats_step", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L563", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L585", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L586", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L588", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L589", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L595", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L609", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_print_report", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L611", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L631", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_runtime_settings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L632", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_derive_source_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "target": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L640", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/scripts/migrate_crm_customer.py", "source_location": "L644", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L98", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L102"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L102"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L103", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_derive_source_url", "callee": "urlunparse", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L107", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_derive_source_url", "callee": "_replace", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L107", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_derive_source_url", "callee": "urlparse", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L107", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L118", "receiver": "candidates"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "callee": "is_absolute", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L118", "receiver": "p"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "callee": "extend", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L119", "receiver": "candidates"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "callee": "is_file", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L121", "receiver": "path"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "callee": "load_dotenv", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L122", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_runtime_settings", "callee": "Settings", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L129", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "DictReader", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L136", "receiver": "csv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L136"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L137", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L137", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L138", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L138", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L139", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L139", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "connect", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L151", "receiver": "target_engine"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L152", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "execute", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L152", "receiver": "conn"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "callee": "text", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L153", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L167", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L171"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L171"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L172", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L176", "receiver": "crm_user_map"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L180", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "connect", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L185", "receiver": "target_engine"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "mappings", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L186", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "execute", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L186", "receiver": "conn"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "text", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L187", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L190", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L194", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L200", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "callee": "lower", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L202", "receiver": "value"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "callee": "items", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L203", "receiver": "CUSTOMER_TYPE_MAP"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "callee": "lower", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L204", "receiver": "key"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L206", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L211", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L212", "receiver": "FOLLOW_TYPE_MAP"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L212", "receiver": "FOLLOW_TYPE_MAP"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "callee": "lower", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L212", "receiver": "value"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L224", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "callee": "connect", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L233", "receiver": "engine"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "callee": "execute", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L234", "receiver": "conn"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "callee": "text", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L234", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_target_row_exists", "callee": "scalar_one", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_target_row_exists", "callee": "execute", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L238", "receiver": "conn"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_target_row_exists", "callee": "text", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L257", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L258", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L259", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L260", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L261", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L262", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L263", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L264", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L265", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L266", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L267", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L268", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L269", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L270", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L271", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L272", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L273", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L274", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L275", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L276", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L277", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L277", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L278", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L279", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L280", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L281", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L282", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L283", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L284", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L285", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L286", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L287", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L288", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L288", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L289", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L290", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L291", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L292", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L292", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L293", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L294", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L294", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L295", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L295", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L296", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L296", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L297", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L300", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L301", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L301", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L303", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L303", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L304", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L304", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L305", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L305", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L305", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L306", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L325", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L326", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L327", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L328", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L329", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L330", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L331", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L332", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L333", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L334", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L335", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L336", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L337", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L338", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L339", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L340", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L341", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L344", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L345", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L345", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L347", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L347", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L348", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L348", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L349", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L349", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L349", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L350", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L364", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "resolve_oss_id_csv", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L365", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L365", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L369", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L370", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L371", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L372", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L373", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L374", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L375", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L376", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L379", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L382", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L385", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L385", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L386", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L387", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L387", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L387", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L388", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L405", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L409", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L410", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L411", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L412", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L412", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L413", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L414", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L414", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L415", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L416", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L419", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L421", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L423", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L423", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "map_user", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L424", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L424", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L425", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L425", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L425", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L426", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "callee": "mkdir", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L503", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L504", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L504", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "callee": "DictWriter", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L506", "receiver": "csv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L506"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "callee": "writeheader", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L507", "receiver": "w"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv", "callee": "writerow", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L510", "receiver": "w"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "callee": "transformers[table]", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L537", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "callee": "begin", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L544", "receiver": "target_engine"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "callee": "conn", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L547"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "callee": "execute", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L554", "receiver": "conn"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L616", "receiver": "argparse"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L617", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L618", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L619", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "DEFAULT_TENANT_NO", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L619"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L620", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L624", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L625", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L626", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L627", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L628", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L628", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "parse_args", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L629", "receiver": "parser"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L634", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L635", "receiver": "t"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L635", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L635", "receiver": "t"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "urlparse", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L637", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "urlparse", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L638", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "create_engine", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L641", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "callee": "create_engine", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py", "source_location": "L642", "receiver": null}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_dec", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_derive_source_url", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_portal_admin_id", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_fetch_source_rows", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_legacy_id_to_str", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_oss_id_to_url", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_runtime_settings", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_settings_env", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_load_user_mapping", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_main", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrate_table", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_migrationstats_step", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_customer_type", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_normalize_follow_type", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_print_report", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_resolve_portal_user_id", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_run_migration", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_stepstats", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_str_or_none", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_target_row_exists", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_contact", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_customer", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_follow", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_transform_pool", "users_wuzilong_work_00code_shanxia2_0_backend_scripts_migrate_crm_customer_write_mapping_csv"]}