| 180 | self._aware_datetime = aware_datetime |
| 181 | |
| 182 | def parse(self, fileobj): |
| 183 | self.parser = ParserCreate() |
| 184 | self.parser.StartElementHandler = self.handle_begin_element |
| 185 | self.parser.EndElementHandler = self.handle_end_element |
| 186 | self.parser.CharacterDataHandler = self.handle_data |
| 187 | self.parser.EntityDeclHandler = self.handle_entity_decl |
| 188 | self.parser.ParseFile(fileobj) |
| 189 | return self.root |
| 190 | |
| 191 | def handle_entity_decl(self, entity_name, is_parameter_entity, value, base, system_id, public_id, notation_name): |
| 192 | # Reject plist files with entity declarations to avoid XML vulnerabilities in expat. |