mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
Summary: Closes https://github.com/caffe2/caffe2/pull/226 Differential Revision: D4793550 Pulled By: JoelMarcey fbshipit-source-id: cc33e58186304fa8dcac2ee9115dcc271d785b1e
105 lines
3.0 KiB
Python
105 lines
3.0 KiB
Python
## @package formatter
|
|
# Module caffe2.python.docs.formatter
|
|
from __future__ import absolute_import
|
|
from __future__ import division
|
|
from __future__ import print_function
|
|
from __future__ import unicode_literals
|
|
from caffe2.python.docs.parser import Parser
|
|
|
|
|
|
class Formatter(object):
|
|
def __init__(self):
|
|
self.content = ""
|
|
|
|
def clone(self):
|
|
return self.__class__()
|
|
|
|
def dump(self):
|
|
return self.content
|
|
|
|
def parseAndAdd(self, text):
|
|
text = Parser(text, self).parse()
|
|
self.addRaw(text)
|
|
|
|
def addRaw(self, text):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addLine(self, text):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addLinebreak(self):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addHeader(self, text):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addEmphasis(self, text):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addList(self, textList):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addLink(self, text, url):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addCode(self, text):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addCodeLink(self, text):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addTable(self, table):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
def addBreak(self):
|
|
raise Exception('Not yet implemented.')
|
|
|
|
|
|
class Markdown(Formatter):
|
|
def addRaw(self, text):
|
|
self.content += "{text}".format(text=text)
|
|
|
|
def addLine(self, text, new_line=False):
|
|
self.content += "{line}{text}\n".format(line=('\n' if new_line else ''),
|
|
text=text)
|
|
|
|
def addLinebreak(self):
|
|
self.content += "\n\n"
|
|
|
|
def addHeader(self, text, h=1):
|
|
self.addLine("{header} {text}".format(header=h * '#', text=text), True)
|
|
|
|
def addEmphasis(self, text, s=1):
|
|
self.addRaw("{stars}{text}{stars}".format(stars=s * '*', text=text))
|
|
|
|
def addList(self, textList):
|
|
for text in textList:
|
|
self.addLine("- {text}".format(text=text), True)
|
|
self.addLinebreak()
|
|
|
|
def addLink(self, text, url):
|
|
self.addRaw("[{text}]({url})".format(text=text, url=url))
|
|
|
|
def addCodeLink(self, path, options=None):
|
|
self.addRaw("({path})".format(path=path))
|
|
|
|
def addCode(self, text, inline=False):
|
|
if (inline):
|
|
self.content += "`{text}`".format(text=text)
|
|
else:
|
|
self.addRaw("\n````\n{text}\n````\n".format(text=text))
|
|
|
|
def addTable(self, table, noTitle=False):
|
|
self.addLinebreak()
|
|
assert(len(table) > 1)
|
|
if noTitle:
|
|
table.insert(0, [' ' for i in range(len(table[0]))])
|
|
self.addLine(' | '.join(table[0]))
|
|
self.addLine(' | '.join(['----' for i in range(len(table[0]))]))
|
|
for row in table[1:]:
|
|
self.addLine(' | '.join(row))
|
|
self.addLinebreak()
|
|
|
|
def addBreak(self):
|
|
self.addLine('\n---\n', True)
|