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

Side by Side Diff: lib/naclports/__main__.py

Issue 1012773005: Improve tracing/logging system used in lib/naclports (Closed) Base URL: https://chromium.googlesource.com/external/naclports.git@master
Patch Set: Created 5 years, 9 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 # Copyright (c) 2013 The Native Client Authors. All rights reserved. 1 # Copyright (c) 2013 The Native Client Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Tool for manipulating naclports packages in python. 5 """Tool for manipulating naclports packages in python.
6 6
7 This tool can be used to for working with naclports packages. 7 This tool can be used to for working with naclports packages.
8 It can also be incorporated into other tools that need to 8 It can also be incorporated into other tools that need to
9 work with packages (e.g. 'update_mirror.py' uses it to iterate 9 work with packages (e.g. 'update_mirror.py' uses it to iterate
10 through all packages and mirror them on Google Cloud Storage). 10 through all packages and mirror them on Google Cloud Storage).
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 if package.VERSION not in package.URL: 90 if package.VERSION not in package.URL:
91 PrintError('%s: uscan only works if VERSION is embedded in URL' % 91 PrintError('%s: uscan only works if VERSION is embedded in URL' %
92 package.NAME) 92 package.NAME)
93 return 0 93 return 0
94 94
95 temp_fd, temp_file = tempfile.mkstemp('naclports_watchfile') 95 temp_fd, temp_file = tempfile.mkstemp('naclports_watchfile')
96 try: 96 try:
97 with os.fdopen(temp_fd, 'w') as f: 97 with os.fdopen(temp_fd, 'w') as f:
98 uscan_url = package.URL.replace(package.VERSION, '(.+)') 98 uscan_url = package.URL.replace(package.VERSION, '(.+)')
99 uscan_url = uscan_url.replace('download.sf.net', 'sf.net') 99 uscan_url = uscan_url.replace('download.sf.net', 'sf.net')
100 util.Trace('uscan pattern: %s' % uscan_url) 100 util.LogVerbose('uscan pattern: %s' % uscan_url)
101 f.write("version = 3\n") 101 f.write("version = 3\n")
102 f.write("%s\n" % uscan_url) 102 f.write("%s\n" % uscan_url)
103 103
104 cmd = ['uscan', '--upstream-version', package.VERSION, '--package', 104 cmd = ['uscan', '--upstream-version', package.VERSION, '--package',
105 package.NAME, '--watchfile', temp_file] 105 package.NAME, '--watchfile', temp_file]
106 util.Trace(' '.join(cmd)) 106 util.LogVerbose(' '.join(cmd))
107 rtn = subprocess.call(cmd) 107 rtn = subprocess.call(cmd)
108 finally: 108 finally:
109 os.remove(temp_file) 109 os.remove(temp_file)
110 110
111 return rtn 111 return rtn
112 112
113 113
114 def CmdPkgCheck(package, options): 114 def CmdPkgCheck(package, options):
115 """Verify dependency information for given package(s)""" 115 """Verify dependency information for given package(s)"""
116 # The fact that we got this far means the pkg_info is basically valid. 116 # The fact that we got this far means the pkg_info is basically valid.
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 installed_pkg_commands = ['contents', 'uninstall'] 207 installed_pkg_commands = ['contents', 'uninstall']
208 208
209 all_commands = dict(base_commands.items() + pkg_commands.items()) 209 all_commands = dict(base_commands.items() + pkg_commands.items())
210 210
211 epilog = "The following commands are available:\n" 211 epilog = "The following commands are available:\n"
212 for name, function in all_commands.iteritems(): 212 for name, function in all_commands.iteritems():
213 epilog += ' %-12s - %s\n' % (name, function.__doc__) 213 epilog += ' %-12s - %s\n' % (name, function.__doc__)
214 214
215 parser = argparse.ArgumentParser(prog='naclports', description=__doc__, 215 parser = argparse.ArgumentParser(prog='naclports', description=__doc__,
216 formatter_class=argparse.RawDescriptionHelpFormatter, epilog=epilog) 216 formatter_class=argparse.RawDescriptionHelpFormatter, epilog=epilog)
217 parser.add_argument('-v', '--verbose', action='store_true', 217 parser.add_argument('-v', '--verbose', dest='verbosity', action='count',
218 help='Output extra information.') 218 default=0, help='Output extra information.')
219 parser.add_argument('-V', '--verbose-build', action='store_true', 219 parser.add_argument('-V', '--verbose-build', action='store_true',
220 help='Make builds verbose (e.g. pass V=1 to make') 220 help='Make builds verbose (e.g. pass V=1 to make')
221 parser.add_argument('--skip-sdk-version-check', action='store_true', 221 parser.add_argument('--skip-sdk-version-check', action='store_true',
222 help="Disable the NaCl SDK version check on startup.") 222 help="Disable the NaCl SDK version check on startup.")
223 parser.add_argument('--all', action='store_true', 223 parser.add_argument('--all', action='store_true',
224 help='Perform action on all known ports.') 224 help='Perform action on all known ports.')
225 parser.add_argument('--color', choices=('always', 'never', 'auto'), 225 parser.add_argument('--color', choices=('always', 'never', 'auto'),
226 help='Enabled color terminal output', default='auto') 226 help='Enabled color terminal output', default='auto')
227 parser.add_argument('-f', '--force', action='store_const', const='build', 227 parser.add_argument('-f', '--force', action='store_const', const='build',
228 help='Force building specified targets, ' 228 help='Force building specified targets, '
(...skipping 20 matching lines...) Expand all
249 # environment variable. 249 # environment variable.
250 parser.add_argument('--debug', action='store_const', const=True, 250 parser.add_argument('--debug', action='store_const', const=True,
251 help='Build debug configuration (release is the default)') 251 help='Build debug configuration (release is the default)')
252 parser.add_argument('--arch', 252 parser.add_argument('--arch',
253 help='Set architecture to use when building (x86_64,' 253 help='Set architecture to use when building (x86_64,'
254 ' x86_32, arm, pnacl)') 254 ' x86_32, arm, pnacl)')
255 parser.add_argument('command', help="sub-command to run") 255 parser.add_argument('command', help="sub-command to run")
256 parser.add_argument('pkg', nargs='*', help="package name or directory") 256 parser.add_argument('pkg', nargs='*', help="package name or directory")
257 args = parser.parse_args(args) 257 args = parser.parse_args(args)
258 258
259 util.SetVerbose(args.verbose or os.environ.get('VERBOSE') == '1') 259 if not args.verbosity and os.environ.get('VERBOSE') == '1':
260 args.verbosity = 1
261
262 util.SetLogLevel(util.LOG_MESSAGE + args.verbosity)
binji 2015/03/17 19:28:11 LOG_MESSAGE makes it sound like a string. Maybe LO
263
260 if args.verbose_build: 264 if args.verbose_build:
261 os.environ['VERBOSE'] = '1' 265 os.environ['VERBOSE'] = '1'
262 else: 266 else:
263 if 'VERBOSE' in os.environ: 267 if 'VERBOSE' in os.environ:
264 del os.environ['VERBOSE'] 268 del os.environ['VERBOSE']
265 if 'V' in os.environ: 269 if 'V' in os.environ:
266 del os.environ['V'] 270 del os.environ['V']
267 271
268 if args.skip_sdk_version_check: 272 if args.skip_sdk_version_check:
269 util.MIN_SDK_VERSION = -1 273 util.MIN_SDK_VERSION = -1
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 return 1 333 return 1
330 except error.Error as e: 334 except error.Error as e:
331 PrintError(str(e)) 335 PrintError(str(e))
332 return 1 336 return 1
333 337
334 return 0 338 return 0
335 339
336 340
337 if __name__ == '__main__': 341 if __name__ == '__main__':
338 sys.exit(main(sys.argv[1:])) 342 sys.exit(main(sys.argv[1:]))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698