Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def run_doconce_on_text(doc):
if doc is None:
return ''
def wrap_in_pre_tags(text):
return '<code><pre>\n%s\n</pre></code>\n' % text
if re.search(r'#\s*\(?[Dd]oc[Oo]nce', doc):
from doconce.common import fix_backslashes
doc = fix_backslashes(doc)
# Remove indentation
lines = doc.splitlines()
for i in range(len(lines)):
if lines[i][0:4] == ' ':
lines[i] = lines[i][4:]
doc = '\n'.join(lines)
# Run doconce using a lib version of the doconce format command
from doconce import doconce_format, DocOnceSyntaxError
stem = 'tmp_doc_string'
try:
print 'Found doc string in doconce format:'
print 'Running doconce on help file', stem + '.do.txt'
doc = doconce_format('html', doc, filename_stem=stem,
cleanup=False)
# grab parts
from doconce.common import fix_backslashes
doc = fix_backslashes(doc)
# Remove indentation
lines = doc.splitlines()
for i in range(len(lines)):
if lines[i][0:4] == ' ':
lines[i] = lines[i][4:]
doc = '\n'.join(lines)
# Run doconce using a lib version of the doconce format command
from doconce import doconce_format, DocOnceSyntaxError
stem = 'tmp_doc_string'
try:
print 'Found doc string in doconce format:'
print 'Running doconce on help file', stem + '.do.txt'
doc = doconce_format('html', doc, filename_stem=stem,
cleanup=False)
# grab parts
pattern = r'()'
m = re.search(pattern, doc, flags=re.DOTALL)
if m:
doc = m.group(1) + '\n'
doc = doc.replace('\n', '')
files = [stem + '.do.txt',
stem + '.html',
'.' + stem + '_html_file_collection']
#for name in files:
# os.remove(name)
except DocOnceSyntaxError, e:
print e
doc = wrap_in_pre_tags(doc)
else:
print 'Found doc string in doconce format:'
print 'Running doconce on help file', stem + '.do.txt'
doc = doconce_format('html', doc, filename_stem=stem,
cleanup=False)
# grab parts
pattern = r'()'
m = re.search(pattern, doc, flags=re.DOTALL)
if m:
doc = m.group(1) + '\n'
doc = doc.replace('\n', '')
files = [stem + '.do.txt',
stem + '.html',
'.' + stem + '_html_file_collection']
#for name in files:
# os.remove(name)
except DocOnceSyntaxError, e:
print e
doc = wrap_in_pre_tags(doc)
else:
doc = wrap_in_pre_tags(doc)
return doc
def setup(app):
from sphinx.highlighting import lexers
from doconce.misc import DocOnceLexer
lexers['doconce'] = DocOnceLexer()