-import sys, os, re, logging
+#!/usr/bin/env python
+
+import sys, os, re
# Languages mapping as used by markdown/pandoc
shortname2language = dict(
include_text = f.read()
lines[i] = include_text
text = '\n'.join(lines)
- logging.info('******* text after include:\n{}'.format(text))
# Run Mako
mako_kwargs = {}
from mako.template import Template
from mako.lookup import TemplateLookup
lookup = TemplateLookup(directories=[os.curdir])
- text = text.encode('utf-8')
+# text = text.encode('utf-8')
temp = Template(text=text, lookup=lookup, strict_undefined=True)
- logging.info('******* mako_kwargs: {}'.format(str(mako_kwargs)))
text = temp.render(**mako_kwargs)
- logging.info('******* text after mako:\n{}'.format(text))
-
# Parse the cells
lines = text.splitlines()
cells = []
if shortname:
# Check if code is to be typeset as static
# Markdown code (e.g., shortname=py-t)
- logging.info('******* found shortname {}'
.format(shortname))
astext = shortname[-2:] == '-t'
- logging.info('******* cell: astext={} shortname={}'
.format(astext, shortname))
if astext:
# Markdown
inside = 'codecell'
cells.append(['codecell', fullname, []])
else:
- logging.info('******* cell: markdown')
# Markdown cell
inside = 'markdown'
cells.append(['markdown', 'text', ['\n']])
# Add an ending ``` of code
cells[i][2].append('```\n')
cells[i][2] = '\n'.join(cells[i][2])
- # TODO: optional logging
- import pprint
- logging.info('******* cell data structure:\b%s' % pprint.pformat(cells))
return cells
def write(cells):
f.write(filestr)
if __name__ == '__main__':
- logfile = 'tmp.log'
- if os.path.isfile:
- os.remove(logfile)
- logging.basicConfig(format='%(message)s', level=logging.DEBUG,
- filename=logfile)
driver()