Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: ensure_dependencies.py

Issue 29350338: Issue 4382 - Use new syntax to catch exceptions in buildtools (Closed)
Patch Set: Created Aug. 30, 2016, 1:32 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build.py ('k') | packagerChrome.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 # This Source Code Form is subject to the terms of the Mozilla Public 3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this 4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 6
7 import sys 7 import sys
8 import os 8 import os
9 import posixpath 9 import posixpath
10 import re 10 import re
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 for line in handle: 213 for line in handle:
214 # Remove comments and whitespace 214 # Remove comments and whitespace
215 line = re.sub(r'#.*', '', line).strip() 215 line = re.sub(r'#.*', '', line).strip()
216 if not line: 216 if not line:
217 continue 217 continue
218 218
219 key, spec = parse_spec(deps_path, line) 219 key, spec = parse_spec(deps_path, line)
220 if spec: 220 if spec:
221 result[key] = spec 221 result[key] = spec
222 return result 222 return result
223 except IOError, e: 223 except IOError as e:
224 if e.errno != errno.ENOENT: 224 if e.errno != errno.ENOENT:
225 raise 225 raise
226 return None 226 return None
227 227
228 228
229 def safe_join(path, subpath): 229 def safe_join(path, subpath):
230 # This has been inspired by Flask's safe_join() function 230 # This has been inspired by Flask's safe_join() function
231 forbidden = {os.sep, os.altsep} - {posixpath.sep, None} 231 forbidden = {os.sep, os.altsep} - {posixpath.sep, None}
232 if any(sep in subpath for sep in forbidden): 232 if any(sep in subpath for sep in forbidden):
233 raise Exception('Illegal directory separator in dependency path %s' % su bpath) 233 raise Exception('Illegal directory separator in dependency path %s' % su bpath)
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 ensure_repo(repodir, parenttype, target, vcs, _root.get(vcs, ''), source ) 325 ensure_repo(repodir, parenttype, target, vcs, _root.get(vcs, ''), source )
326 update_repo(target, vcs, rev) 326 update_repo(target, vcs, rev)
327 resolve_deps(target, level + 1, self_update=False, 327 resolve_deps(target, level + 1, self_update=False,
328 overrideroots=overrideroots, skipdependencies=skipdependenc ies) 328 overrideroots=overrideroots, skipdependencies=skipdependenc ies)
329 329
330 if self_update and '_self' in config and '*' in config['_self']: 330 if self_update and '_self' in config and '*' in config['_self']:
331 source = safe_join(repodir, config['_self']['*']) 331 source = safe_join(repodir, config['_self']['*'])
332 try: 332 try:
333 with io.open(source, 'rb') as handle: 333 with io.open(source, 'rb') as handle:
334 sourcedata = handle.read() 334 sourcedata = handle.read()
335 except IOError, e: 335 except IOError as e:
336 if e.errno != errno.ENOENT: 336 if e.errno != errno.ENOENT:
337 raise 337 raise
338 logging.warning("File %s doesn't exist, skipping self-update" % sour ce) 338 logging.warning("File %s doesn't exist, skipping self-update" % sour ce)
339 return 339 return
340 340
341 target = __file__ 341 target = __file__
342 with io.open(target, 'rb') as handle: 342 with io.open(target, 'rb') as handle:
343 targetdata = handle.read() 343 targetdata = handle.read()
344 344
345 if sourcedata != targetdata: 345 if sourcedata != targetdata:
(...skipping 26 matching lines...) Expand all
372 args = parser.parse_args() 372 args = parser.parse_args()
373 373
374 if args.quiet: 374 if args.quiet:
375 logging.disable(logging.INFO) 375 logging.disable(logging.INFO)
376 376
377 repos = args.repos 377 repos = args.repos
378 if not len(repos): 378 if not len(repos):
379 repos = [os.path.dirname(__file__)] 379 repos = [os.path.dirname(__file__)]
380 for repo in repos: 380 for repo in repos:
381 resolve_deps(repo) 381 resolve_deps(repo)
OLDNEW
« no previous file with comments | « build.py ('k') | packagerChrome.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld