Files
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

14 KiB

Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_labels (2026-04-22)

Corpus Check

  • 39 files · ~151,504 words
  • Verdict: corpus is large enough that graph structure adds value.

Summary

  • 175 nodes · 222 edges · 39 communities detected
  • Extraction: 90% EXTRACTED · 10% INFERRED · 0% AMBIGUOUS · INFERRED: 23 edges (avg confidence: 0.77)
  • Token cost: 0 input · 0 output

Community Hubs (Navigation)

God Nodes (most connected - your core abstractions)

  1. PrintProductLabel - 17 edges
  2. PrintProductLabelSection - 15 edges
  3. PrintProductLabelTemplate - 9 edges
  4. get_quick_report_action() - 8 edges
  5. non_relation_field_types() - 6 edges
  6. TestAccessRights - 5 edges
  7. TestProductLabel - 5 edges
  8. PrintProductLabelTemplateAdd - 5 edges
  9. relation_field_types() - 5 edges
  10. PrintProductLabelLine - 4 edges

Surprising Connections (you probably didn't know these)

  • Test internal user's access rights --uses--> TestProductLabel [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/tests/test_access_rights.py → /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/tests/common.py
  • TestAccessRights --uses--> TestProductLabel [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/tests/test_access_rights.py → /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/tests/common.py
  • default_get() --calls--> _get_user_allowed_templates() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/wizard/product_label_layout.py → /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/models/print_product_label_template.py
  • _compute_fusion_allowed_template_ids() --calls--> _get_user_allowed_templates() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/wizard/product_label_layout.py → /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/models/print_product_label_template.py
  • _compute_allowed_template_ids() --calls--> _get_user_allowed_templates() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/wizard/print_product_label.py → /Users/gurpreet/Github/Odoo-Modules/fusion_labels/fusion_labels_pro/models/print_product_label_template.py

Communities

Community 0 - "Community 0"

Cohesion: 0.12 Nodes (14): binary_field_types(), _compute_field_ids(), _compute_nested_relation_model_id(), _compute_relation_model_id(), date_field_types(), digit_field_types(), _get_field_domain(), get_pricelist_items() (+6 more)

Community 1 - "Community 1"

Cohesion: 0.13 Nodes (8): get_quick_report_action(), PrintProductLabel, Return two params for a report action: record "ids" and "data"., Set a specific number of labels for all lines., Restore the initial number of labels for all lines., Print labels directly without download., Reset the skip empty places count value., If the Dymo label width or height were changed, we should change it to t

Community 2 - "Community 2"

Cohesion: 0.18 Nodes (5): _compute_template_preview_html(), _onchange_label_type_id(), _pdf_preview(), _compute_preview_html(), PrintProductLabelTemplate

Community 3 - "Community 3"

Cohesion: 0.18 Nodes (3): PrintProductLabelSection, process_price_value(), Return URL for a section binary field depending on label. :param label:

Community 4 - "Community 4"

Cohesion: 0.15 Nodes (7): BaseUsersCommon, TestProductLabel, Test internal user's access rights, TestAccessRights, TestPrintProductLabel, TestProductLabel, TransactionCase

Community 5 - "Community 5"

Cohesion: 0.25 Nodes (1): PrintProductLabelLine

Community 6 - "Community 6"

Cohesion: 0.33 Nodes (5): _compute_allowed_template_ids(), _get_user_allowed_templates(), _compute_fusion_allowed_template_ids(), default_get(), ProductLabelLayout

Community 7 - "Community 7"

Cohesion: 0.57 Nodes (2): _check_page_layout(), PrintProductLabelTemplateAdd

Community 8 - "Community 8"

Cohesion: 0.33 Nodes (3): _complete_label_fields(), _get_product_label_ids(), _set_sequence()

Community 9 - "Community 9"

Cohesion: 0.33 Nodes (2): PrintPDF, _gc_print_label_attachments()

Community 10 - "Community 10"

Cohesion: 0.4 Nodes (2): ProductTemplate, If a user has direct print option and a label template, return the direct print

Community 11 - "Community 11"

Cohesion: 0.4 Nodes (2): ProductProduct, If a user has direct print option and a label template, return the direct print

Community 12 - "Community 12"

Cohesion: 0.67 Nodes (1): ResConfigSettings

Community 13 - "Community 13"

Cohesion: 0.67 Nodes (1): ReportFusionProductLabelFromTemplate

Community 14 - "Community 14"

Cohesion: 1.0 Nodes (1): PrintProductLabelPreview

Community 15 - "Community 15"

Cohesion: 1.0 Nodes (1): ResCompany

Community 16 - "Community 16"

Cohesion: 1.0 Nodes (1): ResUsers

Community 17 - "Community 17"

Cohesion: 1.0 Nodes (1): PrintLabelTypePy

Community 18 - "Community 18"

Cohesion: 1.0 Nodes (0):

Community 19 - "Community 19"

Cohesion: 1.0 Nodes (0):

Community 20 - "Community 20"

Cohesion: 1.0 Nodes (0):

Community 21 - "Community 21"

Cohesion: 1.0 Nodes (0):

Community 22 - "Community 22"

Cohesion: 1.0 Nodes (0):

Community 23 - "Community 23"

Cohesion: 1.0 Nodes (0):

Community 24 - "Community 24"

Cohesion: 1.0 Nodes (0):

Community 25 - "Community 25"

Cohesion: 1.0 Nodes (0):

Community 26 - "Community 26"

Cohesion: 1.0 Nodes (0):

Community 27 - "Community 27"

Cohesion: 1.0 Nodes (0):

Community 28 - "Community 28"

Cohesion: 1.0 Nodes (0):

Community 29 - "Community 29"

Cohesion: 1.0 Nodes (0):

Community 30 - "Community 30"

Cohesion: 1.0 Nodes (0):

Community 31 - "Community 31"

Cohesion: 1.0 Nodes (1): Overwritten completely to use with custom label templates.

Community 32 - "Community 32"

Cohesion: 1.0 Nodes (1): Post-processing of the price value before converting to the string. Meth

Community 33 - "Community 33"

Cohesion: 1.0 Nodes (1): Collect all pricelist rules that affect the current product.

Community 34 - "Community 34"

Cohesion: 1.0 Nodes (1): System administrators are not restricted anyway. Other users are restric

Community 35 - "Community 35"

Cohesion: 1.0 Nodes (0):

Community 36 - "Community 36"

Cohesion: 1.0 Nodes (0):

Community 37 - "Community 37"

Cohesion: 1.0 Nodes (1): Set additional fields for product labels. Method to override.

Community 38 - "Community 38"

Cohesion: 1.0 Nodes (1): Allow to get a report action for custom labels. Method to override.

Knowledge Gaps

  • 22 isolated node(s): PrintProductLabelPreview, Overwritten completely to use with custom label templates., Reset the skip empty places count value., If a user has direct print option and a label template, return the direct print, If a user has direct print option and a label template, return the direct print (+17 more) These have ≤1 connection - possible missing edges or undocumented components.
  • Thin community Community 14 (2 nodes): PrintProductLabelPreview, print_product_label_preview.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 15 (2 nodes): ResCompany, res_company.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 16 (2 nodes): ResUsers, res_users.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 17 (2 nodes): PrintLabelTypePy, print_label_type.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 18 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 19 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 20 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 21 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 22 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 23 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 24 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 25 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 26 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 27 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 28 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 29 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 30 (1 nodes): __manifest__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 31 (1 nodes): Overwritten completely to use with custom label templates. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 32 (1 nodes): Post-processing of the price value before converting to the string. Meth Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 33 (1 nodes): Collect all pricelist rules that affect the current product. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 34 (1 nodes): System administrators are not restricted anyway. Other users are restric Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 35 (1 nodes): __manifest__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 36 (1 nodes): __manifest__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 37 (1 nodes): Set additional fields for product labels. Method to override. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 38 (1 nodes): Allow to get a report action for custom labels. Method to override. 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 get_quick_report_action() connect Community 1 to Community 2, Community 6, Community 8, Community 10, Community 11? High betweenness centrality (0.081) - this node is a cross-community bridge.
  • Why does PrintProductLabel connect Community 1 to Community 8, Community 9, Community 2? High betweenness centrality (0.075) - this node is a cross-community bridge.
  • Why does PrintProductLabelTemplate connect Community 2 to Community 1, Community 9? High betweenness centrality (0.050) - this node is a cross-community bridge.
  • Are the 5 inferred relationships involving get_quick_report_action() (e.g. with .process() and .write()) actually correct? get_quick_report_action() has 5 INFERRED edges - model-reasoned connections that need verification.
  • What connects PrintProductLabelPreview, Overwritten completely to use with custom label templates., Reset the skip empty places count value. to the rest of the system? 22 weakly-connected nodes found - possible documentation gaps or missing edges.
  • Should Community 0 be split into smaller, more focused modules? Cohesion score 0.12 - nodes in this community are weakly interconnected.
  • Should Community 1 be split into smaller, more focused modules? Cohesion score 0.13 - nodes in this community are weakly interconnected.