Generate code for a CDP event.
(self)
| 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.""" |
nothing calls this directly
no test coverage detected