| Conditions | 6 |
| Total Lines | 42 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 3 | ||
| Bugs | 0 | Features | 0 |
| 1 | #!/usr/bin/env python |
||
| 8 | def main(): |
||
| 9 | parser = argparse.ArgumentParser( |
||
| 10 | description="Process Markdown according to " |
||
| 11 | "the CommonMark specification.") |
||
| 12 | if sys.version_info < (3, 0): |
||
| 13 | reload(sys) # noqa |
||
| 14 | sys.setdefaultencoding('utf-8') |
||
| 15 | parser.add_argument( |
||
| 16 | 'infile', |
||
| 17 | nargs="?", |
||
| 18 | type=argparse.FileType('r'), |
||
| 19 | default=sys.stdin, |
||
| 20 | help="Input Markdown file to parse, defaults to STDIN") |
||
| 21 | parser.add_argument( |
||
| 22 | '-o', |
||
| 23 | nargs="?", |
||
| 24 | type=argparse.FileType('w'), |
||
| 25 | default=sys.stdout, |
||
| 26 | help="Output HTML/JSON file, defaults to STDOUT") |
||
| 27 | parser.add_argument('-a', action="store_true", help="Print formatted AST") |
||
| 28 | parser.add_argument('-aj', action="store_true", help="Output JSON AST") |
||
| 29 | args = parser.parse_args() |
||
| 30 | parser = CommonMark.Parser() |
||
| 31 | f = args.infile |
||
| 32 | o = args.o |
||
| 33 | lines = [] |
||
| 34 | for line in f: |
||
| 35 | lines.append(line) |
||
| 36 | data = "".join(lines) |
||
| 37 | ast = parser.parse(data) |
||
| 38 | if not args.a and not args.aj: |
||
| 39 | renderer = CommonMark.HtmlRenderer() |
||
| 40 | o.write(renderer.render(ast)) |
||
| 41 | exit() |
||
| 42 | if args.a: |
||
| 43 | # print ast |
||
| 44 | CommonMark.dumpAST(ast) |
||
| 45 | exit() |
||
| 46 | |||
| 47 | # o.write(ast.to_JSON()) |
||
| 48 | o.write(CommonMark.dumpJSON(ast)) |
||
| 49 | exit() |
||
| 50 | |||
| 54 |