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

Method run

render_machine/code_renderer.py:42–90  ·  view source on GitHub ↗

Execute the main rendering workflow.

(self)

Source from the content-addressed store, hash-verified

40 self.action_result_triggers_map = self.state_machine_config.get_action_result_triggers_map()
41
42 def run(self):
43 """Execute the main rendering workflow."""
44 self.render_context.event_bus.publish(RenderModuleStarted(module_name=self.render_context.module_name))
45 self.render_context.run_state.current_module = self.render_context.module_name
46 previous_action_payload = None
47 previous_state = None
48
49 while True:
50 if self.render_context.enter_pause_event.is_set():
51 self.render_context.event_bus.publish(RenderPaused())
52
53 # don't take sleep time into account for render time
54 self.render_context.run_state.add_to_render_time()
55 while self.render_context.enter_pause_event.is_set():
56 time.sleep(PAUSE_POLL_INTERVAL_SECONDS)
57 self.render_context.run_state.set_last_render_start_timestamp()
58
59 self.render_context.event_bus.publish(
60 RenderStateUpdated(
61 state=self.render_context.state,
62 previous_state=previous_state,
63 snapshot=self.render_context.create_snapshot(),
64 )
65 )
66 previous_state = deepcopy(self.render_context.state)
67 self.render_context.run_state.current_render_state = self.render_context.state
68 self.render_context.script_execution_history.should_update_script_outputs = False
69
70 self.render_context.previous_action_payload = previous_action_payload
71
72 outcome, previous_action_payload = self.action_map[self.render_context.state].execute(
73 self.render_context, previous_action_payload
74 )
75
76 if self.render_context.state == States.RENDER_FAILED.value:
77 self.render_context.last_error_message = previous_action_payload
78 self.render_context.event_bus.publish(RenderModuleFailed(module_name=self.render_context.module_name))
79 break
80
81 if self.render_context.state == States.RENDER_COMPLETED.value:
82 self.render_context.event_bus.publish(
83 RenderModuleCompleted(module_name=self.render_context.module_name)
84 )
85 break
86
87 next_trigger = self.action_result_triggers_map[outcome]
88 self.machine.dispatch(next_trigger)
89
90 self.render_context.run_state.add_to_render_time()
91
92 def generate_render_machine_graph(self):
93 """Generate a visual diagram of the state machine."""

Callers 8

_render_moduleMethod · 0.95
renderFunction · 0.80
e2e_containerFunction · 0.80
_execFunction · 0.80
_copyFunction · 0.80
codeplain_exeFunction · 0.80

Calls 10

RenderModuleStartedClass · 0.90
RenderPausedClass · 0.90
RenderStateUpdatedClass · 0.90
RenderModuleFailedClass · 0.90
publishMethod · 0.80
add_to_render_timeMethod · 0.80
create_snapshotMethod · 0.80
executeMethod · 0.45

Tested by 6

e2e_containerFunction · 0.64
_execFunction · 0.64
_copyFunction · 0.64
codeplain_exeFunction · 0.64