X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2Fovsdb-doc.in;h=90de4521adebec88feb4d37d3ec9c6cc3db9ed7f;hb=5c16362b51eed5eb76c7e92629e2e7900b8c2ca9;hp=cb21c1f40d34b1c3433db22a251c4f9b951fff51;hpb=8936565369410daa099708be4cd3fa7e0e39bade;p=openvswitch diff --git a/ovsdb/ovsdb-doc.in b/ovsdb/ovsdb-doc.in index cb21c1f4..90de4521 100755 --- a/ovsdb/ovsdb-doc.in +++ b/ovsdb/ovsdb-doc.in @@ -7,16 +7,20 @@ import re import sys import xml.dom.minidom -sys.path.insert(0, "@abs_top_srcdir@/ovsdb") -import simplejson as json - -from OVSDB import * +import ovs.json +from ovs.db import error +import ovs.db.schema argv0 = sys.argv[0] -def textToNroff(s): +def textToNroff(s, font=r'\fR'): def escape(match): c = match.group(0) + if c == '-': + if font == r'\fB': + return r'\-' + else: + return '-' if c == '\\': return r'\e' elif c == '"': @@ -24,19 +28,20 @@ def textToNroff(s): elif c == "'": return r'\(cq' else: - raise Error("bad escape") + raise error.Error("bad escape") - s = re.sub('([\\\\"\'])', escape, s) + # Escape - \ " ' as needed by nroff. + s = re.sub('([-"\'\\\\])', escape, s) if s.startswith('.'): s = '\\' + s return s def escapeNroffLiteral(s): - return r'\fB%s\fR' % textToNroff(s) + return r'\fB%s\fR' % textToNroff(s, r'\fB') def inlineXmlToNroff(node, font): if node.nodeType == node.TEXT_NODE: - return textToNroff(node.data) + return textToNroff(node.data, font) elif node.nodeType == node.ELEMENT_NODE: if node.tagName == 'code' or node.tagName == 'em': s = r'\fB' @@ -52,7 +57,7 @@ def inlineXmlToNroff(node, font): elif node.hasAttribute('group'): s += node.attributes['group'].nodeValue else: - raise Error("'ref' lacks column and table attributes") + raise error.Error("'ref' lacks column and table attributes") return s + font elif node.tagName == 'var': s = r'\fI' @@ -60,9 +65,9 @@ def inlineXmlToNroff(node, font): s += inlineXmlToNroff(child, r'\fI') return s + font else: - raise Error("element <%s> unknown or invalid here" % node.tagName) + raise error.Error("element <%s> unknown or invalid here" % node.tagName) else: - raise Error("unknown node %s in inline xml" % node) + raise error.Error("unknown node %s in inline xml" % node) def blockXmlToNroff(nodes, para='.PP'): s = '' @@ -81,7 +86,7 @@ def blockXmlToNroff(nodes, para='.PP'): s += ".IP \\(bu\n" + blockXmlToNroff(liNode.childNodes, ".IP") elif (liNode.nodeType != node.TEXT_NODE or not liNode.data.isspace()): - raise Error("