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

Side by Side Diff: native_client_sdk/src/doc/doxygen/doxy_cleanup.py

Issue 720233003: [NaCl SDK] Convert python scripts from optparse to argparse. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 '''This utility cleans up the html files as emitted by doxygen so 6 '''This utility cleans up the html files as emitted by doxygen so
7 that they are suitable for publication on a Google documentation site. 7 that they are suitable for publication on a Google documentation site.
8 ''' 8 '''
9 9
10 import argparse
10 import glob 11 import glob
11 import optparse
12 import os 12 import os
13 import re 13 import re
14 import shutil 14 import shutil
15 import sys 15 import sys
16
16 try: 17 try:
17 from BeautifulSoup import BeautifulSoup, Tag 18 from BeautifulSoup import BeautifulSoup, Tag
18 except (ImportError, NotImplementedError): 19 except (ImportError, NotImplementedError):
19 print ("This tool requires the BeautifulSoup package " 20 print ("This tool requires the BeautifulSoup package "
20 "(see http://www.crummy.com/software/BeautifulSoup/).\n" 21 "(see http://www.crummy.com/software/BeautifulSoup/).\n"
21 "Make sure that the file BeautifulSoup.py is either in this directory " 22 "Make sure that the file BeautifulSoup.py is either in this directory "
22 "or is available in your PYTHON_PATH") 23 "or is available in your PYTHON_PATH")
23 raise 24 raise
24 25
25 26
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 return re.sub(r'(_\d_\d)(?=[": <])', '', html) 141 return re.sub(r'(_\d_\d)(?=[": <])', '', html)
141 142
142 def FixAll(self): 143 def FixAll(self):
143 self.FixTableHeadings() 144 self.FixTableHeadings()
144 self.RemoveTopHeadings() 145 self.RemoveTopHeadings()
145 html = str(self.soup) 146 html = str(self.soup)
146 html = self.RemoveVersionNumbers(html) 147 html = self.RemoveVersionNumbers(html)
147 return html 148 return html
148 149
149 150
150 def main(argv): 151 def main(args):
151 """Main entry for the doxy_cleanup utility 152 """Main entry for the doxy_cleanup utility
152 153
153 doxy_cleanup cleans up the html files generated by doxygen. 154 doxy_cleanup cleans up the html files generated by doxygen.
154 """ 155 """
155 156
156 parser = optparse.OptionParser(usage='Usage: %prog [options] directory') 157 parser = argparse.ArgumentParser(description=__doc__)
157 parser.add_option('-v', '--verbose', help='verbose output.', 158 parser.add_argument('-v', '--verbose', help='verbose output.',
158 action='store_true') 159 action='store_true')
159 options, files = parser.parse_args(argv) 160 parser.add_argument('directory')
160 161
161 if len(files) != 1: 162 options = parser.parse_args(args)
162 parser.error('Expected one directory')
163 163
164 if options.verbose: 164 if options.verbose:
165 Trace.verbose = True 165 Trace.verbose = True
166 166
167 root_dir = files[0] 167 root_dir = options.directory
168 html_dir = os.path.join(root_dir, 'html') 168 html_dir = os.path.join(root_dir, 'html')
169 169
170 # Doxygen puts all files in an 'html' directory. 170 # Doxygen puts all files in an 'html' directory.
171 # First, move all files from that directory to root_dir. 171 # First, move all files from that directory to root_dir.
172 for filename in glob.glob(os.path.join(html_dir, '*')): 172 for filename in glob.glob(os.path.join(html_dir, '*')):
173 Trace('Moving %s -> %s' % (filename, root_dir)) 173 Trace('Moving %s -> %s' % (filename, root_dir))
174 shutil.move(filename, root_dir) 174 shutil.move(filename, root_dir)
175 175
176 # Now remove the 'html' directory. 176 # Now remove the 'html' directory.
177 Trace('Removing %s' % html_dir) 177 Trace('Removing %s' % html_dir)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 209
210 return 0 210 return 0
211 211
212 if __name__ == '__main__': 212 if __name__ == '__main__':
213 try: 213 try:
214 rtn = main(sys.argv[1:]) 214 rtn = main(sys.argv[1:])
215 except KeyboardInterrupt: 215 except KeyboardInterrupt:
216 sys.stderr.write('%s: interrupted\n' % os.path.basename(__file__)) 216 sys.stderr.write('%s: interrupted\n' % os.path.basename(__file__))
217 rtn = 1 217 rtn = 1
218 sys.exit(rtn) 218 sys.exit(rtn)
OLDNEW
« no previous file with comments | « native_client_sdk/src/build_tools/verify_ppapi.py ('k') | native_client_sdk/src/doc/doxygen/generate_docs.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698