MCPcopy Index your code
hub / github.com/Codeplain-ai/codeplain / _render_module

Method _render_module

module_renderer.py:70–145  ·  view source on GitHub ↗

Render a module. Returns: tuple[bool, bool]: (Whether the module was rendered and whether the rendering failed)

(
        self, plain_module: PlainModule, render_range: list[str] | None, force_render: bool
    )

Source from the content-addressed store, hash-verified

68 )
69
70 def _render_module(
71 self, plain_module: PlainModule, render_range: list[str] | None, force_render: bool
72 ) -> tuple[bool, bool]:
73 """Render a module.
74
75 Returns:
76 tuple[bool, bool]: (Whether the module was rendered and whether the rendering failed)
77 """
78 is_render_choice_module = (
79 self.render_choice is not None
80 and self.render_choice.module is not None
81 and self.render_choice.module.module_name == plain_module.module_name
82 )
83
84 if is_render_choice_module:
85 render_range = self.render_choice.render_range
86
87 if render_range is not None:
88 plain_module.ensure_previous_frid_commits_exist(render_range, self.args.render_conformance_tests)
89
90 has_any_required_module_changed = False
91 if not self.args.render_machine_graph and plain_module.required_modules and not is_render_choice_module:
92 console.debug(f"Analyzing required modules of module {plain_module.module_name}...")
93 for required_module in plain_module.required_modules:
94 has_module_changed, rendering_failed = self._render_module(
95 required_module,
96 None,
97 self.args.force_render,
98 )
99 has_any_required_module_changed |= has_module_changed
100 if rendering_failed:
101 return False, True
102
103 if (
104 (
105 (not force_render)
106 or any(module.module_name == plain_module.module_name for module in self.loaded_modules)
107 )
108 and plain_module.get_repo() is not None
109 and not has_any_required_module_changed
110 and not plain_module.has_plain_spec_changed()
111 and not plain_module.has_required_modules_code_changed()
112 and not is_render_choice_module
113 ):
114 return False, False
115
116 memory_manager = MemoryManager(
117 self.codeplainAPI,
118 plain_module.module_name,
119 self.args.conformance_tests_folder,
120 )
121 render_context = self._build_render_context_for_module(
122 plain_module,
123 memory_manager,
124 render_range,
125 )
126
127 code_renderer = CodeRenderer(render_context)

Callers 1

render_moduleMethod · 0.95

Calls 14

runMethod · 0.95
MemoryManagerClass · 0.90
CodeRendererClass · 0.90
RenderFailedClass · 0.90
debugMethod · 0.80
get_repoMethod · 0.80
get_display_messageMethod · 0.80

Tested by

no test coverage detected