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

Unified Diff: ppapi/c/documentation/doxy_cleanup.py

Issue 8888033: Updated doxy_cleanup.py to move h2 tag in front of table tag (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Probably got it working Created 9 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/c/documentation/doxy_cleanup.py
diff --git a/ppapi/c/documentation/doxy_cleanup.py b/ppapi/c/documentation/doxy_cleanup.py
index 4e5bba40a90d164966f1a87a8f3e3b2f6e42d846..01b1ca07d4e72d00eae19d4f5a161123b346501d 100755
--- a/ppapi/c/documentation/doxy_cleanup.py
+++ b/ppapi/c/documentation/doxy_cleanup.py
@@ -34,42 +34,56 @@ class HTMLFixer(object):
def FixTableHeadings(self):
'''Fixes the doxygen table headings.
- This includes using <th> instead of <h2> for the heading, and putting
- the "name" attribute into the "id" attribute of the <tr> tag.
+ This includes:
+ - Using bare <h2> title row instead of row embedded in <tr><td> in table
+ - Putting the "name" attribute into the "id" attribute of the <tr> tag.
+ - Splitting up tables into multiple separate tables if a table
+ heading appears in the middle of a table.
For example, this html:
+ <table>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields List</h2></td></tr>
+ ...
+ </table>
would be converted to this:
- <tr id="pub-attribs"><th colspan="2">Data Fields List</th></tr>
-
- Also, this function splits up tables into multiple separate tables if
- a table heading appears in the middle of a table.
+ <h2>Data Fields List</h2>
+ <table>
+ ...
+ </table>
'''
table_headers = []
for tag in self.soup.findAll('tr'):
if tag.td and tag.td.h2 and tag.td.h2.a and tag.td.h2.a['name']:
- tag['id'] = tag.td.h2.a['name']
- tag.td.string = tag.td.h2.a.next
- tag.td.name = 'th'
+ #tag['id'] = tag.td.h2.a['name']
+ tag.string = tag.td.h2.a.next
+ tag.name = 'h2'
table_headers.append(tag)
# reverse the list so that earlier tags don't delete later tags
table_headers.reverse()
# Split up tables that have multiple table header (th) rows
for tag in table_headers:
+ print "Header tag: %s is %s" % (tag.name, tag.string.strip())
# Is this a heading in the middle of a table?
if tag.findPreviousSibling('tr') and tag.parent.name == 'table':
+ print "Splitting Table named %s" % tag.string.strip()
table = tag.parent
table_parent = table.parent
table_index = table_parent.contents.index(table)
new_table = Tag(self.soup, name='table', attrs=table.attrs)
table_parent.insert(table_index + 1, new_table)
tag_index = table.contents.index(tag)
- new_table.contents = table.contents[tag_index:]
- del table.contents[tag_index:]
+ for index, row in enumerate(table.contents[tag_index:]):
+ new_table.insert(index, row)
+ # Now move the <h2> tag to be in front of the <table> tag
+ assert tag.parent.name == 'table'
+ table = tag.parent
+ table_parent = table.parent
+ table_index = table_parent.contents.index(table)
+ table_parent.insert(table_index, tag)
def RemoveTopHeadings(self):
'''Removes <div> sections with a header, tabs, or navpath class attribute'''
@@ -107,6 +121,7 @@ def main():
with open(filename, 'r') as file:
html = file.read()
+ print "Processing %s" % filename
fixer = HTMLFixer(html)
fixer.FixAll()
with open(filename, 'w') as file:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698