def __init__(self, viewer, reload=0): global _inited self.viewer = viewer self.reload = reload self.context = self.viewer.context self.app = self.context.app self.load_dingbat = self.app.load_dingbat self.loaded = [] self.current_map = None self.target = None self.formatter_stack = [] fmt = formatter.AbstractFormatter(self.viewer) HTMLParser.__init__(self, fmt) self.push_formatter(fmt) if not _inited: _inited = 1 init_module(self.app.prefs) self._ids = {} # Hackery so reload status can be reset when all applets are loaded import AppletLoader self.reload1 = self.reload and AppletLoader.set_reload(self.context) if self.reload1: self.reload1.attach(self) if self.app.prefs.GetBoolean('parsing-html', 'strict'): self.sgml_parser.restrict(0) # Information from <META ... CONTENT="..."> is collected here. # Entries are KEY --> [(NAME, HTTP-EQUIV, CONTENT), ...], where # KEY is (NAME or HTTP-EQUIV). self._metadata = {}
def __init__(self, writer, settings, context): if not self._inited: for k, v in self.fontdingbats.items(): self.dingbats[(k, 'grey')] = v self.dingbats[(k, 'color')] = v import Greek for k, v in Greek.entitydefs.items(): tup = (v, 'Symbol') self.dingbats[(k, 'grey')] = tup self.dingbats[(k, 'color')] = tup PrintingHTMLParser._inited = 1 HTMLParser.__init__(self, AbstractFormatter(writer)) if settings.strict_parsing: self.sgml_parser.restrict(0) self._baseurl = context.get_baseurl() self.context = context self.settings = settings if settings.imageflag: self._image_loader = utils.image_loader self._image_cache = {} self._anchors = {None: None} self._anchor_sequence = [] self._anchor_xforms = [] if not settings.footnoteflag: self.add_anchor_transform(disallow_anchor_footnotes) else: self.add_anchor_transform( disallow_self_reference(context.get_url())) self.__fontsize = [3]