1*1b37a2a7SPierre Jolivet#!/usr/bin/env python3 25808f684SSatish Balay 35808f684SSatish Balay# -------------------------------------------------------------------- 45808f684SSatish Balay 55808f684SSatish Balayfrom petsc4py import PETSc 65808f684SSatish Balay 75808f684SSatish Balay# -------------------------------------------------------------------- 85808f684SSatish Balay 95808f684SSatish Balaytry: 105808f684SSatish Balay from docutils.nodes import NodeVisitor 115808f684SSatish Balay NodeVisitor.unknown_visit = lambda self, node: None 125808f684SSatish Balay NodeVisitor.unknown_departure = lambda self, node: None 135808f684SSatish Balayexcept ImportError: 145808f684SSatish Balay pass 155808f684SSatish Balay 165808f684SSatish Balaytry: # epydoc 3.0.1 + docutils 0.6 175808f684SSatish Balay from docutils.nodes import Text 185808f684SSatish Balay from UserString import UserString 195808f684SSatish Balay if not isinstance(Text, UserString): 205808f684SSatish Balay def Text_get_data(s): 215808f684SSatish Balay try: 225808f684SSatish Balay return s._data 235808f684SSatish Balay except AttributeError: 245808f684SSatish Balay return s.astext() 255808f684SSatish Balay def Text_set_data(s, d): 265808f684SSatish Balay s.astext = lambda: d 275808f684SSatish Balay s._data = d 285808f684SSatish Balay Text.data = property(Text_get_data, Text_set_data) 295808f684SSatish Balayexcept ImportError: 305808f684SSatish Balay pass 315808f684SSatish Balay 325808f684SSatish Balay# -------------------------------------------------------------------- 335808f684SSatish Balay 345808f684SSatish Balayfrom epydoc.docwriter import dotgraph 355808f684SSatish Balay 365808f684SSatish Balayimport re 375808f684SSatish Balaydotgraph._DOT_VERSION_RE = \ 385808f684SSatish Balay re.compile(r'dot (?:- Graphviz )version ([\d\.]+)') 395808f684SSatish Balay 405808f684SSatish Balaytry: 415808f684SSatish Balay 425808f684SSatish Balay dotgraph.DotGraph.DEFAULT_HTML_IMAGE_FORMAT 435808f684SSatish Balay dotgraph.DotGraph.DEFAULT_HTML_IMAGE_FORMAT = 'png' 445808f684SSatish Balay 455808f684SSatish Balayexcept AttributeError: 465808f684SSatish Balay 475808f684SSatish Balay DotGraph_to_html = dotgraph.DotGraph.to_html 485808f684SSatish Balay DotGraph_run_dot = dotgraph.DotGraph._run_dot 495808f684SSatish Balay 505808f684SSatish Balay def to_html(self, image_file, image_url, center=True): 515808f684SSatish Balay if image_file[-4:] == '.gif': 525808f684SSatish Balay image_file = image_file[:-4] + '.png' 535808f684SSatish Balay if image_url[-4:] == '.gif': 545808f684SSatish Balay image_url = image_url[:-4] + '.png' 555808f684SSatish Balay return DotGraph_to_html(self, image_file, image_url) 565808f684SSatish Balay 575808f684SSatish Balay def _run_dot(self, *options): 585808f684SSatish Balay if '-Tgif' in options: 595808f684SSatish Balay opts = list(options) 605808f684SSatish Balay for i, o in enumerate(opts): 615808f684SSatish Balay if o == '-Tgif': opts[i] = '-Tpng' 625808f684SSatish Balay options = type(options)(opts) 635808f684SSatish Balay return DotGraph_run_dot(self, *options) 645808f684SSatish Balay 655808f684SSatish Balay dotgraph.DotGraph.to_html = to_html 665808f684SSatish Balay dotgraph.DotGraph._run_dot = _run_dot 675808f684SSatish Balay 685808f684SSatish Balay# -------------------------------------------------------------------- 695808f684SSatish Balay 705808f684SSatish Balayimport re 715808f684SSatish Balay 725808f684SSatish Balay_SIGNATURE_RE = re.compile( 735808f684SSatish Balay # Class name (for builtin methods) 745808f684SSatish Balay r'^\s*((?P<class>\w+)\.)?' + 755808f684SSatish Balay # The function name 765808f684SSatish Balay r'(?P<func>\w+)' + 775808f684SSatish Balay # The parameters 785808f684SSatish Balay r'\(((?P<self>(?:self|cls|mcs)),?)?(?P<params>.*)\)' + 795808f684SSatish Balay # The return value (optional) 805808f684SSatish Balay r'(\s*(->)\s*(?P<return>\S.*?))?'+ 815808f684SSatish Balay # The end marker 825808f684SSatish Balay r'\s*(\n|\s+(--|<=+>)\s+|$|\.\s+|\.\n)') 835808f684SSatish Balay 845808f684SSatish Balayfrom epydoc import docstringparser as dsp 855808f684SSatish Balaydsp._SIGNATURE_RE = _SIGNATURE_RE 865808f684SSatish Balay 875808f684SSatish Balay# -------------------------------------------------------------------- 885808f684SSatish Balay 895808f684SSatish Balayimport sys, os 905808f684SSatish Balayimport epydoc.cli 915808f684SSatish Balay 925808f684SSatish Balaydef epydocify(): 935808f684SSatish Balay dirname = os.path.dirname(__file__) 945808f684SSatish Balay config = os.path.join(dirname, 'epydoc.cfg') 955808f684SSatish Balay sys.argv.append('--config=' + config) 965808f684SSatish Balay epydoc.cli.cli() 975808f684SSatish Balay 985808f684SSatish Balayif __name__ == '__main__': 995808f684SSatish Balay epydocify() 1005808f684SSatish Balay 1015808f684SSatish Balay# -------------------------------------------------------------------- 102