summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xgenerator.py25
1 files changed, 13 insertions, 12 deletions
diff --git a/generator.py b/generator.py
index c34cb34..178a415 100755
--- a/generator.py
+++ b/generator.py
@@ -44,6 +44,7 @@ if sgmlop:
self.finish_starttag = target.start
self.finish_endtag = target.end
self.handle_data = target.data
+ self.handle_cdata = target.cdata
# activate parser
self.parser = sgmlop.XMLParser()
@@ -78,6 +79,7 @@ class SlowParser(xmllib.XMLParser):
def __init__(self, target):
self.unknown_starttag = target.start
self.handle_data = target.data
+ self.handle_cdata = target.cdata
self.unknown_endtag = target.end
xmllib.XMLParser.__init__(self)
@@ -108,6 +110,11 @@ class docParser:
print "data %s" % text
self._data.append(text)
+ def cdata(self, text):
+ if debug:
+ print "data %s" % text
+ self._data.append(text)
+
def start(self, tag, attrs):
if debug:
print "start %s, %s" % (tag, attrs)
@@ -843,20 +850,14 @@ def writeDoc(name, args, indent, output):
val = string.replace(val, "NULL", "None");
output.write(indent)
output.write('"""')
- while len(val) > 60:
- if val[0] == " ":
- val = val[1:]
- continue
- str = val[0:60]
- i = string.rfind(str, " ");
- if i < 0:
- i = 60
- str = val[0:i]
- val = val[i:]
+ i = string.find(val, "\n")
+ while i >= 0:
+ str = val[0:i+1]
+ val = val[i+1:]
output.write(str)
- output.write('\n ');
+ i = string.find(val, "\n")
output.write(indent)
- output.write(val);
+ output.write(val)
output.write(' """\n')
def buildWrappers():