Files
Odoo-Modules/fusion_accounting_ocr/graphify-out/graph.json
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

2059 lines
87 KiB
JSON

{
"directed": false,
"multigraph": false,
"graph": {},
"nodes": [
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py",
"community": 8,
"norm_label": "__init__.py"
},
{
"label": "__manifest__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/__manifest__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_manifest_py",
"community": 14,
"norm_label": "__manifest__.py"
},
{
"label": "test_invoice_ocr_flow.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_invoice_ocr_flow_py",
"community": 3,
"norm_label": "test_invoice_ocr_flow.py"
},
{
"label": "TestInvoiceOcrFlow",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L13",
"id": "test_invoice_ocr_flow_testinvoiceocrflow",
"community": 3,
"norm_label": "testinvoiceocrflow"
},
{
"label": "TransactionCase",
"file_type": "code",
"source_file": "",
"source_location": "",
"id": "transactioncase",
"community": 2,
"norm_label": "transactioncase"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L15",
"id": "test_invoice_ocr_flow_testinvoiceocrflow_setup",
"community": 3,
"norm_label": ".setup()"
},
{
"label": ".test_ocr_state_default()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L26",
"id": "test_invoice_ocr_flow_testinvoiceocrflow_test_ocr_state_default",
"community": 3,
"norm_label": ".test_ocr_state_default()"
},
{
"label": ".test_action_request_ocr_no_attachment_raises()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L29",
"id": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_no_attachment_raises",
"community": 3,
"norm_label": ".test_action_request_ocr_no_attachment_raises()"
},
{
"label": ".test_action_request_ocr_with_image()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L33",
"id": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_with_image",
"community": 3,
"norm_label": ".test_action_request_ocr_with_image()"
},
{
"label": ".test_apply_does_not_overwrite_user_entered_ref()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L84",
"id": "test_invoice_ocr_flow_testinvoiceocrflow_test_apply_does_not_overwrite_user_entered_ref",
"community": 3,
"norm_label": ".test_apply_does_not_overwrite_user_entered_ref()"
},
{
"label": ".test_only_vendor_bills_supported()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L111",
"id": "test_invoice_ocr_flow_testinvoiceocrflow_test_only_vendor_bills_supported",
"community": 3,
"norm_label": ".test_only_vendor_bills_supported()"
},
{
"label": "test_field_parser.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_field_parser_py",
"community": 0,
"norm_label": "test_field_parser.py"
},
{
"label": "TestFieldParser",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L12",
"id": "test_field_parser_testfieldparser",
"community": 0,
"norm_label": "testfieldparser"
},
{
"label": ".test_parser_handles_empty_text()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L14",
"id": "test_field_parser_testfieldparser_test_parser_handles_empty_text",
"community": 0,
"norm_label": ".test_parser_handles_empty_text()"
},
{
"label": ".test_parser_handles_no_provider_gracefully()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L19",
"id": "test_field_parser_testfieldparser_test_parser_handles_no_provider_gracefully",
"community": 0,
"norm_label": ".test_parser_handles_no_provider_gracefully()"
},
{
"label": ".test_parser_consumes_clean_json()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L27",
"id": "test_field_parser_testfieldparser_test_parser_consumes_clean_json",
"community": 0,
"norm_label": ".test_parser_consumes_clean_json()"
},
{
"label": ".test_parser_strips_markdown_fences()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L46",
"id": "test_field_parser_testfieldparser_test_parser_strips_markdown_fences",
"community": 0,
"norm_label": ".test_parser_strips_markdown_fences()"
},
{
"label": ".test_parser_returns_empty_on_invalid_json()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L62",
"id": "test_field_parser_testfieldparser_test_parser_returns_empty_on_invalid_json",
"community": 0,
"norm_label": ".test_parser_returns_empty_on_invalid_json()"
},
{
"label": ".test_parser_returns_empty_on_provider_exception()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L69",
"id": "test_field_parser_testfieldparser_test_parser_returns_empty_on_provider_exception",
"community": 0,
"norm_label": ".test_parser_returns_empty_on_provider_exception()"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py",
"community": 9,
"norm_label": "__init__.py"
},
{
"label": "test_tesseract_adapter.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_tesseract_adapter_py",
"community": 2,
"norm_label": "test_tesseract_adapter.py"
},
{
"label": "TestTesseractAdapter",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L14",
"id": "test_tesseract_adapter_testtesseractadapter",
"community": 2,
"norm_label": "testtesseractadapter"
},
{
"label": ".test_is_available()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L16",
"id": "test_tesseract_adapter_testtesseractadapter_test_is_available",
"community": 2,
"norm_label": ".test_is_available()"
},
{
"label": ".test_extract_simple_text_image()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L20",
"id": "test_tesseract_adapter_testtesseractadapter_test_extract_simple_text_image",
"community": 2,
"norm_label": ".test_extract_simple_text_image()"
},
{
"label": "account_move.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"community": 1,
"norm_label": "account_move.py"
},
{
"label": "AccountMove",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L26",
"id": "account_move_accountmove",
"community": 1,
"norm_label": "accountmove"
},
{
"label": ".action_request_ocr()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L55",
"id": "account_move_accountmove_action_request_ocr",
"community": 3,
"norm_label": ".action_request_ocr()"
},
{
"label": "._fusion_run_ocr()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L76",
"id": "account_move_accountmove_fusion_run_ocr",
"community": 1,
"norm_label": "._fusion_run_ocr()"
},
{
"label": "._fusion_get_ocr_provider()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L135",
"id": "account_move_accountmove_fusion_get_ocr_provider",
"community": 1,
"norm_label": "._fusion_get_ocr_provider()"
},
{
"label": "._fusion_apply_ocr_fields()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L146",
"id": "account_move_accountmove_fusion_apply_ocr_fields",
"community": 1,
"norm_label": "._fusion_apply_ocr_fields()"
},
{
"label": "account.move OCR extension. Adds an OCR pipeline triggered manually (or, option",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L1",
"id": "account_move_rationale_1",
"community": 1,
"norm_label": "account.move ocr extension. adds an ocr pipeline triggered manually (or, option"
},
{
"label": "Run OCR on the most recent supported attachment of each move.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L56",
"id": "account_move_rationale_56",
"community": 3,
"norm_label": "run ocr on the most recent supported attachment of each move."
},
{
"label": "Apply parsed fields to a draft invoice without overwriting any user-ente",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L147",
"id": "account_move_rationale_147",
"community": 1,
"norm_label": "apply parsed fields to a draft invoice without overwriting any user-ente"
},
{
"label": "fusion_ocr_log.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/fusion_ocr_log.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_fusion_ocr_log_py",
"community": 5,
"norm_label": "fusion_ocr_log.py"
},
{
"label": "FusionOcrLog",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/fusion_ocr_log.py",
"source_location": "L4",
"id": "fusion_ocr_log_fusionocrlog",
"community": 5,
"norm_label": "fusionocrlog"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py",
"community": 10,
"norm_label": "__init__.py"
},
{
"label": "res_company.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_company.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_company_py",
"community": 6,
"norm_label": "res_company.py"
},
{
"label": "ResCompany",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_company.py",
"source_location": "L4",
"id": "res_company_rescompany",
"community": 6,
"norm_label": "rescompany"
},
{
"label": "res_config_settings.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_config_settings.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_config_settings_py",
"community": 7,
"norm_label": "res_config_settings.py"
},
{
"label": "ResConfigSettings",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_config_settings.py",
"source_location": "L4",
"id": "res_config_settings_resconfigsettings",
"community": 7,
"norm_label": "resconfigsettings"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py",
"community": 11,
"norm_label": "__init__.py"
},
{
"label": "ocr_controller.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py",
"community": 3,
"norm_label": "ocr_controller.py"
},
{
"label": "FusionOcrController",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py",
"source_location": "L5",
"id": "ocr_controller_fusionocrcontroller",
"community": 3,
"norm_label": "fusionocrcontroller"
},
{
"label": "request_for_invoice()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py",
"source_location": "L8",
"id": "ocr_controller_request_for_invoice",
"community": 3,
"norm_label": "request_for_invoice()"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py",
"community": 12,
"norm_label": "__init__.py"
},
{
"label": "invoice_field_parser.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"community": 0,
"norm_label": "invoice_field_parser.py"
},
{
"label": "parse_invoice_fields()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L49",
"id": "invoice_field_parser_parse_invoice_fields",
"community": 0,
"norm_label": "parse_invoice_fields()"
},
{
"label": "_empty_result()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L109",
"id": "invoice_field_parser_empty_result",
"community": 0,
"norm_label": "_empty_result()"
},
{
"label": "_get_provider()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L123",
"id": "invoice_field_parser_get_provider",
"community": 0,
"norm_label": "_get_provider()"
},
{
"label": "Stage-2 of the OCR pipeline: parse raw OCR text into structured invoice fields v",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L1",
"id": "invoice_field_parser_rationale_1",
"community": 0,
"norm_label": "stage-2 of the ocr pipeline: parse raw ocr text into structured invoice fields v"
},
{
"label": "Use the configured LLM provider to extract structured invoice fields. Retur",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L50",
"id": "invoice_field_parser_rationale_50",
"community": 0,
"norm_label": "use the configured llm provider to extract structured invoice fields. retur"
},
{
"label": "Look up the LLM adapter via ir.config_parameter. Honours a feature-specific",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L124",
"id": "invoice_field_parser_rationale_124",
"community": 0,
"norm_label": "look up the llm adapter via ir.config_parameter. honours a feature-specific"
},
{
"label": "attachment_to_image.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py",
"community": 4,
"norm_label": "attachment_to_image.py"
},
{
"label": "attachment_to_pages()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py",
"source_location": "L14",
"id": "attachment_to_image_attachment_to_pages",
"community": 4,
"norm_label": "attachment_to_pages()"
},
{
"label": "Helper: turn an ir.attachment into a list of PIL.Image pages. Kept separate fro",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py",
"source_location": "L1",
"id": "attachment_to_image_rationale_1",
"community": 4,
"norm_label": "helper: turn an ir.attachment into a list of pil.image pages. kept separate fro"
},
{
"label": "Decode an ir.attachment into a list of PIL.Image pages. Returns ``[]`` on f",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py",
"source_location": "L15",
"id": "attachment_to_image_rationale_15",
"community": 4,
"norm_label": "decode an ir.attachment into a list of pil.image pages. returns ``[]`` on f"
},
{
"label": "tesseract_adapter.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"community": 2,
"norm_label": "tesseract_adapter.py"
},
{
"label": "TesseractAdapter",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L19",
"id": "tesseract_adapter_tesseractadapter",
"community": 1,
"norm_label": "tesseractadapter"
},
{
"label": "OCRProvider",
"file_type": "code",
"source_file": "",
"source_location": "",
"id": "ocrprovider",
"community": 1,
"norm_label": "ocrprovider"
},
{
"label": "is_available()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L23",
"id": "tesseract_adapter_is_available",
"community": 2,
"norm_label": "is_available()"
},
{
"label": ".extract()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L34",
"id": "tesseract_adapter_tesseractadapter_extract",
"community": 1,
"norm_label": ".extract()"
},
{
"label": "Tesseract OCR adapter. Uses the system tesseract binary via pytesseract, with p",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L1",
"id": "tesseract_adapter_rationale_1",
"community": 2,
"norm_label": "tesseract ocr adapter. uses the system tesseract binary via pytesseract, with p"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_init_py",
"community": 13,
"norm_label": "__init__.py"
},
{
"label": "base.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"community": 2,
"norm_label": "base.py"
},
{
"label": "OCRResult",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L13",
"id": "base_ocrresult",
"community": 1,
"norm_label": "ocrresult"
},
{
"label": "OCRProvider",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L22",
"id": "base_ocrprovider",
"community": 2,
"norm_label": "ocrprovider"
},
{
"label": "ABC",
"file_type": "code",
"source_file": "",
"source_location": "",
"id": "abc",
"community": 2,
"norm_label": "abc"
},
{
"label": "extract()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L28",
"id": "base_extract",
"community": 2,
"norm_label": "extract()"
},
{
"label": "is_available()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L38",
"id": "base_is_available",
"community": 2,
"norm_label": "is_available()"
},
{
"label": "OCRProvider contract - every backend must conform. Mirrors the LLMProvider patt",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L1",
"id": "base_rationale_1",
"community": 2,
"norm_label": "ocrprovider contract - every backend must conform. mirrors the llmprovider patt"
},
{
"label": "Abstract OCR backend. Subclasses implement extract().",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L23",
"id": "base_rationale_23",
"community": 2,
"norm_label": "abstract ocr backend. subclasses implement extract()."
},
{
"label": "Extract text from raw bytes. ``mimetype`` hints whether to PDF-render (",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L29",
"id": "base_rationale_29",
"community": 15,
"norm_label": "extract text from raw bytes. ``mimetype`` hints whether to pdf-render ("
},
{
"label": "Return True if the backend's runtime deps are present.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L39",
"id": "base_rationale_39",
"community": 16,
"norm_label": "return true if the backend's runtime deps are present."
},
{
"label": "manual_adapter.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"community": 1,
"norm_label": "manual_adapter.py"
},
{
"label": "ManualAdapter",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L9",
"id": "manual_adapter_manualadapter",
"community": 1,
"norm_label": "manualadapter"
},
{
"label": ".extract()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L12",
"id": "manual_adapter_manualadapter_extract",
"community": 1,
"norm_label": ".extract()"
},
{
"label": "Manual fallback adapter - no real OCR, just marks the document as 'awaiting manu",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L1",
"id": "manual_adapter_rationale_1",
"community": 1,
"norm_label": "manual fallback adapter - no real ocr, just marks the document as 'awaiting manu"
}
],
"links": [
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/__init__.py",
"source_location": "L2",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L13",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_invoice_ocr_flow_py",
"_tgt": "test_invoice_ocr_flow_testinvoiceocrflow",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_invoice_ocr_flow_py",
"target": "test_invoice_ocr_flow_testinvoiceocrflow",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L13",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow",
"_tgt": "transactioncase",
"source": "test_invoice_ocr_flow_testinvoiceocrflow",
"target": "transactioncase",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L15",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow",
"_tgt": "test_invoice_ocr_flow_testinvoiceocrflow_setup",
"source": "test_invoice_ocr_flow_testinvoiceocrflow",
"target": "test_invoice_ocr_flow_testinvoiceocrflow_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L26",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow",
"_tgt": "test_invoice_ocr_flow_testinvoiceocrflow_test_ocr_state_default",
"source": "test_invoice_ocr_flow_testinvoiceocrflow",
"target": "test_invoice_ocr_flow_testinvoiceocrflow_test_ocr_state_default",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L29",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow",
"_tgt": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_no_attachment_raises",
"source": "test_invoice_ocr_flow_testinvoiceocrflow",
"target": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_no_attachment_raises",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L33",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow",
"_tgt": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_with_image",
"source": "test_invoice_ocr_flow_testinvoiceocrflow",
"target": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_with_image",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L84",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow",
"_tgt": "test_invoice_ocr_flow_testinvoiceocrflow_test_apply_does_not_overwrite_user_entered_ref",
"source": "test_invoice_ocr_flow_testinvoiceocrflow",
"target": "test_invoice_ocr_flow_testinvoiceocrflow_test_apply_does_not_overwrite_user_entered_ref",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L111",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow",
"_tgt": "test_invoice_ocr_flow_testinvoiceocrflow_test_only_vendor_bills_supported",
"source": "test_invoice_ocr_flow_testinvoiceocrflow",
"target": "test_invoice_ocr_flow_testinvoiceocrflow_test_only_vendor_bills_supported",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L12",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_field_parser_testfieldparser",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L14",
"weight": 1.0,
"_src": "test_tesseract_adapter_testtesseractadapter",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_tesseract_adapter_testtesseractadapter",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L31",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_no_attachment_raises",
"_tgt": "account_move_accountmove_action_request_ocr",
"source": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_no_attachment_raises",
"target": "account_move_accountmove_action_request_ocr"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L70",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_with_image",
"_tgt": "account_move_accountmove_action_request_ocr",
"source": "test_invoice_ocr_flow_testinvoiceocrflow_test_action_request_ocr_with_image",
"target": "account_move_accountmove_action_request_ocr"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L106",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow_test_apply_does_not_overwrite_user_entered_ref",
"_tgt": "account_move_accountmove_action_request_ocr",
"source": "test_invoice_ocr_flow_testinvoiceocrflow_test_apply_does_not_overwrite_user_entered_ref",
"target": "account_move_accountmove_action_request_ocr"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_invoice_ocr_flow.py",
"source_location": "L117",
"weight": 1.0,
"_src": "test_invoice_ocr_flow_testinvoiceocrflow_test_only_vendor_bills_supported",
"_tgt": "account_move_accountmove_action_request_ocr",
"source": "test_invoice_ocr_flow_testinvoiceocrflow_test_only_vendor_bills_supported",
"target": "account_move_accountmove_action_request_ocr"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L12",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_field_parser_py",
"_tgt": "test_field_parser_testfieldparser",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_field_parser_py",
"target": "test_field_parser_testfieldparser",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L14",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser",
"_tgt": "test_field_parser_testfieldparser_test_parser_handles_empty_text",
"source": "test_field_parser_testfieldparser",
"target": "test_field_parser_testfieldparser_test_parser_handles_empty_text",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L19",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser",
"_tgt": "test_field_parser_testfieldparser_test_parser_handles_no_provider_gracefully",
"source": "test_field_parser_testfieldparser",
"target": "test_field_parser_testfieldparser_test_parser_handles_no_provider_gracefully",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L27",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser",
"_tgt": "test_field_parser_testfieldparser_test_parser_consumes_clean_json",
"source": "test_field_parser_testfieldparser",
"target": "test_field_parser_testfieldparser_test_parser_consumes_clean_json",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L46",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser",
"_tgt": "test_field_parser_testfieldparser_test_parser_strips_markdown_fences",
"source": "test_field_parser_testfieldparser",
"target": "test_field_parser_testfieldparser_test_parser_strips_markdown_fences",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L62",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser",
"_tgt": "test_field_parser_testfieldparser_test_parser_returns_empty_on_invalid_json",
"source": "test_field_parser_testfieldparser",
"target": "test_field_parser_testfieldparser_test_parser_returns_empty_on_invalid_json",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L69",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser",
"_tgt": "test_field_parser_testfieldparser_test_parser_returns_empty_on_provider_exception",
"source": "test_field_parser_testfieldparser",
"target": "test_field_parser_testfieldparser_test_parser_returns_empty_on_provider_exception",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L15",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser_test_parser_handles_empty_text",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "test_field_parser_testfieldparser_test_parser_handles_empty_text",
"target": "invoice_field_parser_parse_invoice_fields"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser_test_parser_handles_no_provider_gracefully",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "test_field_parser_testfieldparser_test_parser_handles_no_provider_gracefully",
"target": "invoice_field_parser_parse_invoice_fields"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser_test_parser_consumes_clean_json",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "test_field_parser_testfieldparser_test_parser_consumes_clean_json",
"target": "invoice_field_parser_parse_invoice_fields"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L58",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser_test_parser_strips_markdown_fences",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "test_field_parser_testfieldparser_test_parser_strips_markdown_fences",
"target": "invoice_field_parser_parse_invoice_fields"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L65",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser_test_parser_returns_empty_on_invalid_json",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "test_field_parser_testfieldparser_test_parser_returns_empty_on_invalid_json",
"target": "invoice_field_parser_parse_invoice_fields"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_field_parser.py",
"source_location": "L72",
"weight": 1.0,
"_src": "test_field_parser_testfieldparser_test_parser_returns_empty_on_provider_exception",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "test_field_parser_testfieldparser_test_parser_returns_empty_on_provider_exception",
"target": "invoice_field_parser_parse_invoice_fields"
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/__init__.py",
"source_location": "L3",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L14",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_tesseract_adapter_py",
"_tgt": "test_tesseract_adapter_testtesseractadapter",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_test_tesseract_adapter_py",
"target": "test_tesseract_adapter_testtesseractadapter",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L16",
"weight": 1.0,
"_src": "test_tesseract_adapter_testtesseractadapter",
"_tgt": "test_tesseract_adapter_testtesseractadapter_test_is_available",
"source": "test_tesseract_adapter_testtesseractadapter",
"target": "test_tesseract_adapter_testtesseractadapter_test_is_available",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L20",
"weight": 1.0,
"_src": "test_tesseract_adapter_testtesseractadapter",
"_tgt": "test_tesseract_adapter_testtesseractadapter_test_extract_simple_text_image",
"source": "test_tesseract_adapter_testtesseractadapter",
"target": "test_tesseract_adapter_testtesseractadapter_test_extract_simple_text_image",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L8",
"weight": 0.8,
"_src": "test_tesseract_adapter_testtesseractadapter",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "test_tesseract_adapter_testtesseractadapter",
"target": "tesseract_adapter_tesseractadapter",
"confidence_score": 0.5
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L18",
"weight": 1.0,
"_src": "test_tesseract_adapter_testtesseractadapter_test_is_available",
"_tgt": "base_is_available",
"source": "test_tesseract_adapter_testtesseractadapter_test_is_available",
"target": "base_is_available"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_tesseract_adapter_testtesseractadapter_test_extract_simple_text_image",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "test_tesseract_adapter_testtesseractadapter_test_extract_simple_text_image",
"target": "tesseract_adapter_tesseractadapter"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py",
"source_location": "L40",
"weight": 1.0,
"_src": "test_tesseract_adapter_testtesseractadapter_test_extract_simple_text_image",
"_tgt": "manual_adapter_manualadapter_extract",
"source": "test_tesseract_adapter_testtesseractadapter_test_extract_simple_text_image",
"target": "manual_adapter_manualadapter_extract"
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L14",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L15",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L16",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L26",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"_tgt": "account_move_accountmove",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"target": "account_move_accountmove",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L1",
"weight": 1.0,
"_src": "account_move_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_account_move_py",
"target": "account_move_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L55",
"weight": 1.0,
"_src": "account_move_accountmove",
"_tgt": "account_move_accountmove_action_request_ocr",
"source": "account_move_accountmove",
"target": "account_move_accountmove_action_request_ocr",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L76",
"weight": 1.0,
"_src": "account_move_accountmove",
"_tgt": "account_move_accountmove_fusion_run_ocr",
"source": "account_move_accountmove",
"target": "account_move_accountmove_fusion_run_ocr",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L135",
"weight": 1.0,
"_src": "account_move_accountmove",
"_tgt": "account_move_accountmove_fusion_get_ocr_provider",
"source": "account_move_accountmove",
"target": "account_move_accountmove_fusion_get_ocr_provider",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L146",
"weight": 1.0,
"_src": "account_move_accountmove",
"_tgt": "account_move_accountmove_fusion_apply_ocr_fields",
"source": "account_move_accountmove",
"target": "account_move_accountmove_fusion_apply_ocr_fields",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L14",
"weight": 0.8,
"_src": "account_move_accountmove",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "account_move_accountmove",
"target": "tesseract_adapter_tesseractadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L15",
"weight": 0.8,
"_src": "account_move_accountmove",
"_tgt": "manual_adapter_manualadapter",
"source": "account_move_accountmove",
"target": "manual_adapter_manualadapter",
"confidence_score": 0.5
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L73",
"weight": 1.0,
"_src": "account_move_accountmove_action_request_ocr",
"_tgt": "account_move_accountmove_fusion_run_ocr",
"source": "account_move_accountmove_action_request_ocr",
"target": "account_move_accountmove_fusion_run_ocr",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L56",
"weight": 1.0,
"_src": "account_move_rationale_56",
"_tgt": "account_move_accountmove_action_request_ocr",
"source": "account_move_accountmove_action_request_ocr",
"target": "account_move_rationale_56",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py",
"source_location": "L12",
"weight": 1.0,
"_src": "ocr_controller_request_for_invoice",
"_tgt": "account_move_accountmove_action_request_ocr",
"source": "account_move_accountmove_action_request_ocr",
"target": "ocr_controller_request_for_invoice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L85",
"weight": 1.0,
"_src": "account_move_accountmove_fusion_run_ocr",
"_tgt": "account_move_accountmove_fusion_get_ocr_provider",
"source": "account_move_accountmove_fusion_run_ocr",
"target": "account_move_accountmove_fusion_get_ocr_provider",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L122",
"weight": 1.0,
"_src": "account_move_accountmove_fusion_run_ocr",
"_tgt": "account_move_accountmove_fusion_apply_ocr_fields",
"source": "account_move_accountmove_fusion_run_ocr",
"target": "account_move_accountmove_fusion_apply_ocr_fields",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L95",
"weight": 1.0,
"_src": "account_move_accountmove_fusion_run_ocr",
"_tgt": "manual_adapter_manualadapter_extract",
"source": "account_move_accountmove_fusion_run_ocr",
"target": "manual_adapter_manualadapter_extract"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L118",
"weight": 1.0,
"_src": "account_move_accountmove_fusion_run_ocr",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "account_move_accountmove_fusion_run_ocr",
"target": "invoice_field_parser_parse_invoice_fields"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L136",
"weight": 1.0,
"_src": "account_move_accountmove_fusion_get_ocr_provider",
"_tgt": "base_is_available",
"source": "account_move_accountmove_fusion_get_ocr_provider",
"target": "base_is_available"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L137",
"weight": 1.0,
"_src": "account_move_accountmove_fusion_get_ocr_provider",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "account_move_accountmove_fusion_get_ocr_provider",
"target": "tesseract_adapter_tesseractadapter"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L139",
"weight": 1.0,
"_src": "account_move_accountmove_fusion_get_ocr_provider",
"_tgt": "manual_adapter_manualadapter",
"source": "account_move_accountmove_fusion_get_ocr_provider",
"target": "manual_adapter_manualadapter"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L147",
"weight": 1.0,
"_src": "account_move_rationale_147",
"_tgt": "account_move_accountmove_fusion_apply_ocr_fields",
"source": "account_move_accountmove_fusion_apply_ocr_fields",
"target": "account_move_rationale_147",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L14",
"weight": 0.8,
"_src": "account_move_rationale_1",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "account_move_rationale_1",
"target": "tesseract_adapter_tesseractadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L15",
"weight": 0.8,
"_src": "account_move_rationale_1",
"_tgt": "manual_adapter_manualadapter",
"source": "account_move_rationale_1",
"target": "manual_adapter_manualadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L14",
"weight": 0.8,
"_src": "account_move_rationale_56",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "account_move_rationale_56",
"target": "tesseract_adapter_tesseractadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L15",
"weight": 0.8,
"_src": "account_move_rationale_56",
"_tgt": "manual_adapter_manualadapter",
"source": "account_move_rationale_56",
"target": "manual_adapter_manualadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L14",
"weight": 0.8,
"_src": "account_move_rationale_147",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "account_move_rationale_147",
"target": "tesseract_adapter_tesseractadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py",
"source_location": "L15",
"weight": 0.8,
"_src": "account_move_rationale_147",
"_tgt": "manual_adapter_manualadapter",
"source": "account_move_rationale_147",
"target": "manual_adapter_manualadapter",
"confidence_score": 0.5
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/fusion_ocr_log.py",
"source_location": "L4",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_fusion_ocr_log_py",
"_tgt": "fusion_ocr_log_fusionocrlog",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_fusion_ocr_log_py",
"target": "fusion_ocr_log_fusionocrlog",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/__init__.py",
"source_location": "L4",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_company.py",
"source_location": "L4",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_company_py",
"_tgt": "res_company_rescompany",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_company_py",
"target": "res_company_rescompany",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_config_settings.py",
"source_location": "L4",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_config_settings_py",
"_tgt": "res_config_settings_resconfigsettings",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_config_settings_py",
"target": "res_config_settings_resconfigsettings",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/__init__.py",
"source_location": "L1",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py",
"source_location": "L5",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py",
"_tgt": "ocr_controller_fusionocrcontroller",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py",
"target": "ocr_controller_fusionocrcontroller",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py",
"source_location": "L8",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py",
"_tgt": "ocr_controller_request_for_invoice",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py",
"target": "ocr_controller_request_for_invoice",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/__init__.py",
"source_location": "L3",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L49",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"target": "invoice_field_parser_parse_invoice_fields",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L109",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"_tgt": "invoice_field_parser_empty_result",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"target": "invoice_field_parser_empty_result",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L123",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"_tgt": "invoice_field_parser_get_provider",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"target": "invoice_field_parser_get_provider",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L1",
"weight": 1.0,
"_src": "invoice_field_parser_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_invoice_field_parser_py",
"target": "invoice_field_parser_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L57",
"weight": 1.0,
"_src": "invoice_field_parser_parse_invoice_fields",
"_tgt": "invoice_field_parser_empty_result",
"source": "invoice_field_parser_parse_invoice_fields",
"target": "invoice_field_parser_empty_result",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L60",
"weight": 1.0,
"_src": "invoice_field_parser_parse_invoice_fields",
"_tgt": "invoice_field_parser_get_provider",
"source": "invoice_field_parser_parse_invoice_fields",
"target": "invoice_field_parser_get_provider",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L50",
"weight": 1.0,
"_src": "invoice_field_parser_rationale_50",
"_tgt": "invoice_field_parser_parse_invoice_fields",
"source": "invoice_field_parser_parse_invoice_fields",
"target": "invoice_field_parser_rationale_50",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/invoice_field_parser.py",
"source_location": "L124",
"weight": 1.0,
"_src": "invoice_field_parser_rationale_124",
"_tgt": "invoice_field_parser_get_provider",
"source": "invoice_field_parser_get_provider",
"target": "invoice_field_parser_rationale_124",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py",
"source_location": "L14",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py",
"_tgt": "attachment_to_image_attachment_to_pages",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py",
"target": "attachment_to_image_attachment_to_pages",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py",
"source_location": "L1",
"weight": 1.0,
"_src": "attachment_to_image_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py",
"target": "attachment_to_image_rationale_1",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py",
"source_location": "L15",
"weight": 1.0,
"_src": "attachment_to_image_rationale_15",
"_tgt": "attachment_to_image_attachment_to_pages",
"source": "attachment_to_image_attachment_to_pages",
"target": "attachment_to_image_rationale_15",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L14",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L19",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"_tgt": "tesseract_adapter_tesseractadapter",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"target": "tesseract_adapter_tesseractadapter",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L23",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"_tgt": "tesseract_adapter_is_available",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"target": "tesseract_adapter_is_available",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L1",
"weight": 1.0,
"_src": "tesseract_adapter_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_tesseract_adapter_py",
"target": "tesseract_adapter_rationale_1",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L19",
"weight": 1.0,
"_src": "tesseract_adapter_tesseractadapter",
"_tgt": "ocrprovider",
"source": "tesseract_adapter_tesseractadapter",
"target": "ocrprovider",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L34",
"weight": 1.0,
"_src": "tesseract_adapter_tesseractadapter",
"_tgt": "tesseract_adapter_tesseractadapter_extract",
"source": "tesseract_adapter_tesseractadapter",
"target": "tesseract_adapter_tesseractadapter_extract",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L14",
"weight": 0.8,
"_src": "tesseract_adapter_tesseractadapter",
"_tgt": "base_ocrprovider",
"source": "tesseract_adapter_tesseractadapter",
"target": "base_ocrprovider",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L14",
"weight": 0.8,
"_src": "tesseract_adapter_tesseractadapter",
"_tgt": "base_ocrresult",
"source": "tesseract_adapter_tesseractadapter",
"target": "base_ocrresult",
"confidence_score": 0.5
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L9",
"weight": 1.0,
"_src": "manual_adapter_manualadapter",
"_tgt": "ocrprovider",
"source": "ocrprovider",
"target": "manual_adapter_manualadapter",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L60",
"weight": 1.0,
"_src": "tesseract_adapter_tesseractadapter_extract",
"_tgt": "base_ocrresult",
"source": "tesseract_adapter_tesseractadapter_extract",
"target": "base_ocrresult"
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L14",
"weight": 0.8,
"_src": "tesseract_adapter_rationale_1",
"_tgt": "base_ocrprovider",
"source": "tesseract_adapter_rationale_1",
"target": "base_ocrprovider",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py",
"source_location": "L14",
"weight": 0.8,
"_src": "tesseract_adapter_rationale_1",
"_tgt": "base_ocrresult",
"source": "tesseract_adapter_rationale_1",
"target": "base_ocrresult",
"confidence_score": 0.5
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/__init__.py",
"source_location": "L3",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_init_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L8",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"_tgt": "abc",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"target": "abc",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L13",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"_tgt": "base_ocrresult",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"target": "base_ocrresult",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L22",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"_tgt": "base_ocrprovider",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"target": "base_ocrprovider",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L28",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"_tgt": "base_extract",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"target": "base_extract",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L38",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"_tgt": "base_is_available",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"target": "base_is_available",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L1",
"weight": 1.0,
"_src": "base_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"target": "base_rationale_1",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L6",
"weight": 0.8,
"_src": "manual_adapter_manualadapter",
"_tgt": "base_ocrresult",
"source": "base_ocrresult",
"target": "manual_adapter_manualadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L6",
"weight": 0.8,
"_src": "manual_adapter_rationale_1",
"_tgt": "base_ocrresult",
"source": "base_ocrresult",
"target": "manual_adapter_rationale_1",
"confidence_score": 0.5
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L13",
"weight": 1.0,
"_src": "manual_adapter_manualadapter_extract",
"_tgt": "base_ocrresult",
"source": "base_ocrresult",
"target": "manual_adapter_manualadapter_extract"
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L22",
"weight": 1.0,
"_src": "base_ocrprovider",
"_tgt": "abc",
"source": "base_ocrprovider",
"target": "abc",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py",
"source_location": "L23",
"weight": 1.0,
"_src": "base_rationale_23",
"_tgt": "base_ocrprovider",
"source": "base_ocrprovider",
"target": "base_rationale_23",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L6",
"weight": 0.8,
"_src": "manual_adapter_manualadapter",
"_tgt": "base_ocrprovider",
"source": "base_ocrprovider",
"target": "manual_adapter_manualadapter",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L6",
"weight": 0.8,
"_src": "manual_adapter_rationale_1",
"_tgt": "base_ocrprovider",
"source": "base_ocrprovider",
"target": "manual_adapter_rationale_1",
"confidence_score": 0.5
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"_tgt": "manual_adapter_manualadapter",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"target": "manual_adapter_manualadapter",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L1",
"weight": 1.0,
"_src": "manual_adapter_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py",
"target": "manual_adapter_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py",
"source_location": "L12",
"weight": 1.0,
"_src": "manual_adapter_manualadapter",
"_tgt": "manual_adapter_manualadapter_extract",
"source": "manual_adapter_manualadapter",
"target": "manual_adapter_manualadapter_extract",
"confidence_score": 1.0
}
],
"hyperedges": []
}