#!/usr/bin/env python ## # \example parse.py # Basic crossmark parsing example. import crossmark import sys class Document (crossmark.Document): def pushDocument (self): print "pushDocument" def popDocument (self): print "popDocument" def pushBlock (self, blockType): if blockType == crossmark.BLOCKQUOTE: typename = 'BLOCKQUOTE' elif blockType == crossmark.PARAGRAPH: typename = 'PARAGRAPH' elif blockType == crossmark.HEADING_1: typename = 'HEADING_1' elif blockType == crossmark.HEADING_2: typename = 'HEADING_2' elif blockType == crossmark.HEADING_3: typename = 'HEADING_3' elif blockType == crossmark.HEADING_4: typename = 'HEADING_4' else: typename = 'unknown' print "pushBlock (", typename, ")" def popBlock (self): print "popBlock" def pushStyle (self, styleType): if styleType == crossmark.BOLD: typename = 'BOLD' if styleType == crossmark.ITALIC: typename = 'ITALIC' if styleType == crossmark.MONOSPACE: typename = 'MONOSPACE' if styleType == crossmark.UNDERLINE: typename = 'UNDERLINE' print "pushStyle (", typename, ")" def popStyle (self, styleType): print "popStyle" def text (self, string): print '"' + string + '"' if len (sys.argv) < 2: sys.stderr.write ("Need filename\n") sys.exit (1) document = Document () parser = crossmark.Parser (sys.argv[1], document) parser.parse ()