{ "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": [] }