Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: native_client_sdk/src/doc/doxygen/doxy_cleanup.py

Issue 591683002: [NaCl SDK Docs] Fix many issues with the doc generator. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/doc/doxygen/doxy_cleanup.py
diff --git a/native_client_sdk/src/doc/doxygen/doxy_cleanup.py b/native_client_sdk/src/doc/doxygen/doxy_cleanup.py
index 491fd047109cd921e33a57fdc24882a13cdd16fe..8db9bd2e4a955c4a2338b56313e4dad815b0adab 100755
--- a/native_client_sdk/src/doc/doxygen/doxy_cleanup.py
+++ b/native_client_sdk/src/doc/doxygen/doxy_cleanup.py
@@ -136,6 +136,40 @@ class HTMLFixer(object):
attrs={'class' : re.compile('^(header|tabs[0-9]*|navpath)$')})
[tag.extract() for tag in header_tags]
+ def RemoveSeparators(self):
+ '''Removes separator rows from tables
+
+ This seems to only exist in newer versions of doxygen (1.8).
+ '''
+ separator_tags = self.soup.findAll(
+ name='tr',
+ attrs={'class': re.compile(r'^separator:.*$')})
+ [tag.extract() for tag in separator_tags]
+
+ def FixFragments(self):
+ ''''''
Sam Clegg 2014/09/20 00:02:36 Is this also a doxygen version thing? Maybe menti
binji 2014/09/22 17:54:02 Done.
+ first = True
+ fragments = self.soup.findAll(name='div', attrs={'class': 'fragment'})
+ for fragment in fragments:
+ # Replace:
+ # <div class="fragment">
+ # <div class="line">...</div>
+ #
+ # With:
+ # <div class="fragment">
+ # ...
+ lines = fragment.findAll(name='div', attrs={'class': 'line'})
+ for line in lines:
+ line.replaceWithChildren()
+
+ # Wrap the contents of the fragment in a <pre>, but only if it isn't
+ # already there.
+ if not fragment.pre:
+ pre = Tag(self.soup, name='pre', attrs={'class': 'fragment'})
+ for el in reversed(fragment.contents):
+ pre.insert(0, el.extract())
+ fragment.append(pre)
+
def RemoveVersionNumbers(self, html):
'''Horrible hack to strip _#_# from struct names.'''
return re.sub(r'(_\d_\d)(?=[": <])', '', html)
@@ -143,6 +177,8 @@ class HTMLFixer(object):
def FixAll(self):
self.FixTableHeadings()
self.RemoveTopHeadings()
+ self.RemoveSeparators()
+ self.FixFragments()
html = str(self.soup)
html = self.RemoveVersionNumbers(html)
return html
@@ -189,6 +225,7 @@ def main(argv):
# Now, fix the HTML files we've kept.
Trace('Fixing HTML files...')
for root, _, files in os.walk(root_dir):
+ files.sort()
for filename in files:
if not os.path.splitext(filename)[1] == '.html':
Trace('Skipping %s' % filename)

Powered by Google App Engine
This is Rietveld 408576698