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