This commit is contained in:
gsinghpal
2026-04-24 21:04:38 -04:00
parent 0eab4b4efb
commit 41d0908ade
4083 changed files with 1230780 additions and 287 deletions

View File

@@ -0,0 +1,169 @@
# Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr (2026-04-22)
## Corpus Check
- 20 files · ~5,118 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 77 nodes · 113 edges · 17 communities detected
- Extraction: 66% EXTRACTED · 34% INFERRED · 0% AMBIGUOUS · INFERRED: 38 edges (avg confidence: 0.67)
- Token cost: 0 input · 0 output
## Community Hubs (Navigation)
- [[_COMMUNITY_Community 0|Community 0]]
- [[_COMMUNITY_Community 1|Community 1]]
- [[_COMMUNITY_Community 2|Community 2]]
- [[_COMMUNITY_Community 3|Community 3]]
- [[_COMMUNITY_Community 4|Community 4]]
- [[_COMMUNITY_Community 5|Community 5]]
- [[_COMMUNITY_Community 6|Community 6]]
- [[_COMMUNITY_Community 7|Community 7]]
- [[_COMMUNITY_Community 8|Community 8]]
- [[_COMMUNITY_Community 9|Community 9]]
- [[_COMMUNITY_Community 10|Community 10]]
- [[_COMMUNITY_Community 11|Community 11]]
- [[_COMMUNITY_Community 12|Community 12]]
- [[_COMMUNITY_Community 13|Community 13]]
- [[_COMMUNITY_Community 14|Community 14]]
- [[_COMMUNITY_Community 15|Community 15]]
- [[_COMMUNITY_Community 16|Community 16]]
## God Nodes (most connected - your core abstractions)
1. `TesseractAdapter` - 12 edges
2. `parse_invoice_fields()` - 11 edges
3. `ManualAdapter` - 10 edges
4. `TestInvoiceOcrFlow` - 8 edges
5. `TestFieldParser` - 8 edges
6. `AccountMove` - 7 edges
7. `OCRResult` - 7 edges
8. `OCRProvider` - 7 edges
9. `TestTesseractAdapter` - 5 edges
10. `account.move OCR extension. Adds an OCR pipeline triggered manually (or, option` - 3 edges
## Surprising Connections (you probably didn't know these)
- `TestTesseractAdapter` --uses--> `TesseractAdapter` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/test_tesseract_adapter.py → /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py
- `Run OCR on the most recent supported attachment of each move.` --uses--> `TesseractAdapter` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py → /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py
- `Run OCR on the most recent supported attachment of each move.` --uses--> `ManualAdapter` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/account_move.py → /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py
- `TesseractAdapter` --uses--> `OCRProvider` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py → /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py
- `Tesseract OCR adapter. Uses the system tesseract binary via pytesseract, with p` --uses--> `OCRResult` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/tesseract_adapter.py → /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/base.py
## Communities
### Community 0 - "Community 0"
Cohesion: 0.2
Nodes (7): _empty_result(), _get_provider(), parse_invoice_fields(), Stage-2 of the OCR pipeline: parse raw OCR text into structured invoice fields v, Look up the LLM adapter via ir.config_parameter. Honours a feature-specific, Use the configured LLM provider to extract structured invoice fields. Retur, TestFieldParser
### Community 1 - "Community 1"
Cohesion: 0.28
Nodes (8): AccountMove, account.move OCR extension. Adds an OCR pipeline triggered manually (or, option, Apply parsed fields to a draft invoice without overwriting any user-ente, OCRResult, ManualAdapter, Manual fallback adapter - no real OCR, just marks the document as 'awaiting manu, OCRProvider, TesseractAdapter
### Community 2 - "Community 2"
Cohesion: 0.15
Nodes (8): ABC, is_available(), OCRProvider, OCRProvider contract - every backend must conform. Mirrors the LLMProvider patt, Abstract OCR backend. Subclasses implement extract()., Tesseract OCR adapter. Uses the system tesseract binary via pytesseract, with p, TestTesseractAdapter, TransactionCase
### Community 3 - "Community 3"
Cohesion: 0.19
Nodes (4): Run OCR on the most recent supported attachment of each move., FusionOcrController, request_for_invoice(), TestInvoiceOcrFlow
### Community 4 - "Community 4"
Cohesion: 0.5
Nodes (3): attachment_to_pages(), Helper: turn an ir.attachment into a list of PIL.Image pages. Kept separate fro, Decode an ir.attachment into a list of PIL.Image pages. Returns ``[]`` on f
### Community 5 - "Community 5"
Cohesion: 1.0
Nodes (1): FusionOcrLog
### Community 6 - "Community 6"
Cohesion: 1.0
Nodes (1): ResCompany
### Community 7 - "Community 7"
Cohesion: 1.0
Nodes (1): ResConfigSettings
### Community 8 - "Community 8"
Cohesion: 1.0
Nodes (0):
### Community 9 - "Community 9"
Cohesion: 1.0
Nodes (0):
### Community 10 - "Community 10"
Cohesion: 1.0
Nodes (0):
### Community 11 - "Community 11"
Cohesion: 1.0
Nodes (0):
### Community 12 - "Community 12"
Cohesion: 1.0
Nodes (0):
### Community 13 - "Community 13"
Cohesion: 1.0
Nodes (0):
### Community 14 - "Community 14"
Cohesion: 1.0
Nodes (0):
### Community 15 - "Community 15"
Cohesion: 1.0
Nodes (1): Extract text from raw bytes. ``mimetype`` hints whether to PDF-render (
### Community 16 - "Community 16"
Cohesion: 1.0
Nodes (1): Return True if the backend's runtime deps are present.
## Knowledge Gaps
- **13 isolated node(s):** `FusionOcrLog`, `ResCompany`, `ResConfigSettings`, `FusionOcrController`, `Stage-2 of the OCR pipeline: parse raw OCR text into structured invoice fields v` (+8 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **Thin community `Community 5`** (2 nodes): `FusionOcrLog`, `fusion_ocr_log.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 6`** (2 nodes): `ResCompany`, `res_company.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 7`** (2 nodes): `ResConfigSettings`, `res_config_settings.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 8`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 9`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 10`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 11`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 12`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 13`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 14`** (1 nodes): `__manifest__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 15`** (1 nodes): `Extract text from raw bytes. ``mimetype`` hints whether to PDF-render (`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 16`** (1 nodes): `Return True if the backend's runtime deps are present.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **Why does `parse_invoice_fields()` connect `Community 0` to `Community 1`?**
_High betweenness centrality (0.147) - this node is a cross-community bridge._
- **Why does `TesseractAdapter` connect `Community 1` to `Community 2`, `Community 3`?**
_High betweenness centrality (0.130) - this node is a cross-community bridge._
- **Why does `TestTesseractAdapter` connect `Community 2` to `Community 1`?**
_High betweenness centrality (0.084) - this node is a cross-community bridge._
- **Are the 9 inferred relationships involving `TesseractAdapter` (e.g. with `TestTesseractAdapter` and `AccountMove`) actually correct?**
_`TesseractAdapter` has 9 INFERRED edges - model-reasoned connections that need verification._
- **Are the 7 inferred relationships involving `parse_invoice_fields()` (e.g. with `.test_parser_handles_empty_text()` and `.test_parser_handles_no_provider_gracefully()`) actually correct?**
_`parse_invoice_fields()` has 7 INFERRED edges - model-reasoned connections that need verification._
- **Are the 7 inferred relationships involving `ManualAdapter` (e.g. with `AccountMove` and `account.move OCR extension. Adds an OCR pipeline triggered manually (or, option`) actually correct?**
_`ManualAdapter` has 7 INFERRED edges - model-reasoned connections that need verification._
- **What connects `FusionOcrLog`, `ResCompany`, `ResConfigSettings` to the rest of the system?**
_13 weakly-connected nodes found - possible documentation gaps or missing edges._

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_fusion_ocr_log_py", "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": "fusion_ocr_log_fusionocrlog", "label": "FusionOcrLog", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/fusion_ocr_log.py", "source_location": "L4"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_fusion_ocr_log_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/fusion_ocr_log.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_fusion_ocr_log_py", "target": "fusion_ocr_log_fusionocrlog", "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}], "raw_calls": []}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/__init__.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/__init__.py", "source_location": "L2", "weight": 1.0}], "raw_calls": []}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py", "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": "attachment_to_image_attachment_to_pages", "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_rationale_1", "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_15", "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"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py", "target": "base64", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L7", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py", "target": "io", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L8", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L9", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py", "target": "attachment_to_image_attachment_to_pages", "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}, {"source": "attachment_to_image_rationale_1", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_attachment_to_image_py", "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}, {"source": "attachment_to_image_rationale_15", "target": "attachment_to_image_attachment_to_pages", "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}], "raw_calls": [{"caller_nid": "attachment_to_image_attachment_to_pages", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L23"}, {"caller_nid": "attachment_to_image_attachment_to_pages", "callee": "b64decode", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L30"}, {"caller_nid": "attachment_to_image_attachment_to_pages", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L32"}, {"caller_nid": "attachment_to_image_attachment_to_pages", "callee": "convert_from_bytes", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L39"}, {"caller_nid": "attachment_to_image_attachment_to_pages", "callee": "open", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L40"}, {"caller_nid": "attachment_to_image_attachment_to_pages", "callee": "BytesIO", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L40"}, {"caller_nid": "attachment_to_image_attachment_to_pages", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/attachment_to_image.py", "source_location": "L42"}]}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/__init__.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/__init__.py", "source_location": "L4", "weight": 1.0}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_company_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": "res_company_rescompany", "label": "ResCompany", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_company.py", "source_location": "L4"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_company_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_company.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_company_py", "target": "res_company_rescompany", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_company.py", "source_location": "L4", "weight": 1.0}], "raw_calls": []}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py", "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": "manual_adapter_manualadapter", "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": "ocrprovider", "label": "OCRProvider", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "manual_adapter_manualadapter_extract", "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_rationale_1", "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"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_base_py", "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}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py", "target": "manual_adapter_manualadapter", "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}, {"source": "manual_adapter_manualadapter", "target": "ocrprovider", "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}, {"source": "manual_adapter_manualadapter", "target": "manual_adapter_manualadapter_extract", "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}, {"source": "manual_adapter_rationale_1", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_manual_adapter_py", "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}], "raw_calls": [{"caller_nid": "manual_adapter_manualadapter_extract", "callee": "OCRResult", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/manual_adapter.py", "source_location": "L13"}]}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/__init__.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/__init__.py", "source_location": "L3", "weight": 1.0}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_services_ocr_providers_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/__init__.py", "source_location": "L1"}], "edges": [{"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", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/__init__.py", "source_location": "L1", "weight": 1.0}, {"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", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/services/ocr_providers/__init__.py", "source_location": "L2", "weight": 1.0}, {"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", "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}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_manifest_py", "label": "__manifest__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/__manifest__.py", "source_location": "L1"}], "edges": [], "raw_calls": []}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_config_settings_py", "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": "res_config_settings_resconfigsettings", "label": "ResConfigSettings", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_config_settings.py", "source_location": "L4"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_config_settings_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/models/res_config_settings.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_models_res_config_settings_py", "target": "res_config_settings_resconfigsettings", "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}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/__init__.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_tests_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/tests/__init__.py", "source_location": "L3", "weight": 1.0}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_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": "ocr_controller_fusionocrcontroller", "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_request_for_invoice", "label": "request_for_invoice()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L8"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L1", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py", "target": "odoo_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L2", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py", "target": "ocr_controller_fusionocrcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_accounting_ocr_controllers_ocr_controller_py", "target": "ocr_controller_request_for_invoice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "ocr_controller_request_for_invoice", "callee": "browse", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L9"}, {"caller_nid": "ocr_controller_request_for_invoice", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L9"}, {"caller_nid": "ocr_controller_request_for_invoice", "callee": "check_access", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L10"}, {"caller_nid": "ocr_controller_request_for_invoice", "callee": "action_request_ocr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L12"}, {"caller_nid": "ocr_controller_request_for_invoice", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_ocr/controllers/ocr_controller.py", "source_location": "L21"}]}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff