Skip to content

Commit

Permalink
Prepare for module graph rewrite
Browse files Browse the repository at this point in the history
  • Loading branch information
hubvd committed Dec 24, 2024
1 parent a886995 commit e7dd77a
Showing 1 changed file with 19 additions and 22 deletions.
41 changes: 19 additions & 22 deletions odoo/resources/launcher/patches/progress.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
)

from .console import console
from .patch_tools import patch_arguments

import odoo.modules.loading

Expand All @@ -16,6 +17,7 @@ class WrappedGraph:
id = 0

def __init__(self, graph):
self.parent = graph
self.graph = list(graph)
self.first = True
self.idx = 0
Expand Down Expand Up @@ -64,30 +66,25 @@ def __next__(self):
def __len__(self):
return len(self.graph)

def __contains__(self, name: str) -> bool:
return name in self.parent

def __getitem__(self, name: str):
return self.parent[name]

def __str__(self) -> str:
return str(self.parent)

def __getattr__(self, name):
return getattr(self.parent, name)

class ModuleInstallProgress:
@staticmethod
def load_module_graph(
cr,
graph,
status=None,
perform_checks=True,
skip_modules=None,
report=None,
models_to_check=None,
):
return ModuleInstallProgress.base_load_module_graph(
cr,
WrappedGraph(graph),
status,
perform_checks,
skip_modules,
report,
models_to_check,
)
def load_module_graph(*args, **kwargs):
original_graph = args[1]
graph = WrappedGraph(original_graph)
args = (args[0], graph, *args[2:])
return args, kwargs

def apply(self):
ModuleInstallProgress.base_load_module_graph = (
odoo.modules.loading.load_module_graph
)
odoo.modules.loading.load_module_graph = ModuleInstallProgress.load_module_graph
patch_arguments(odoo.modules.loading, "load_module_graph", self.load_module_graph)

0 comments on commit e7dd77a

Please sign in to comment.