| 265 | return dom, cmsg |
| 266 | |
| 267 | def parse_tree(self) -> dict[str]: |
| 268 | # start from here |
| 269 | stt = time.time() |
| 270 | root = self.get_root(self.dom_tree) |
| 271 | dom, cmsg = self.parse(root, self.keep, self.obs, self.parent_chain, self.get_new_label) |
| 272 | self.bids2label = cmsg.get('bids2label', {}) |
| 273 | self.keep = list(set(self.keep + cmsg.get('label_element', []))) |
| 274 | |
| 275 | obj = { |
| 276 | 'html': dom, |
| 277 | 'parse_time': time.time() - stt |
| 278 | } |
| 279 | |
| 280 | return obj |
| 281 | |
| 282 | # From mind2web, https://github.com/OSU-NLP-Group/Mind2Web/blob/main/src/data_utils/dom_utils.py |
| 283 | def get_keep_elements(self, tree: html.HtmlElement, keep: list[str], max_depth: int, max_children: int, |