MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / generate_code

Method generate_code

py/generate.py:734–765  ·  view source on GitHub ↗

Generate code for a CDP event.

(self)

Source from the content-addressed store, hash-verified

732 )
733
734 def generate_code(self):
735 """Generate code for a CDP event."""
736 global current_version
737 code = dedent(f"""\
738 @event_class('{self.domain}.{self.name}')
739 @dataclass
740 class {self.py_name}:""")
741
742 code += "\n"
743 desc = ""
744 if self.description or self.experimental:
745 if self.experimental:
746 desc += "**EXPERIMENTAL**\n\n"
747
748 if self.description:
749 desc += self.description
750
751 code += indent(docstring(desc), 4)
752 code += "\n"
753 code += indent("\n".join(p.generate_decl() for p in self.parameters), 4)
754 code += "\n\n"
755 def_from_json = dedent(f"""\
756 @classmethod
757 def from_json(cls, json: T_JSON_DICT) -> {self.py_name}:
758 return cls(
759 """)
760 code += indent(def_from_json, 4)
761 from_json = ",\n".join(p.generate_from_json(dict_="json") for p in self.parameters)
762 code += indent(from_json, 12)
763 code += "\n"
764 code += indent(")", 8)
765 return code
766
767 def get_refs(self):
768 """Get all refs for this event."""

Callers

nothing calls this directly

Calls 4

docstringFunction · 0.85
indentFunction · 0.70
generate_declMethod · 0.45
generate_from_jsonMethod · 0.45

Tested by

no test coverage detected