| OLD | NEW |
| 1 # Copyright 2015 The LUCI Authors. All rights reserved. | 1 # Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 # Use of this source code is governed by the Apache v2.0 license that can be | 2 # Use of this source code is governed under the Apache License, Version 2.0 |
| 3 # found in the LICENSE file. | 3 # that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import base64 | 5 import base64 |
| 6 import logging | 6 import logging |
| 7 import posixpath | 7 import posixpath |
| 8 import re | 8 import re |
| 9 import urlparse | 9 import urlparse |
| 10 | 10 |
| 11 from google.appengine.ext import ndb | 11 from google.appengine.ext import ndb |
| 12 | 12 |
| 13 from components import auth | 13 from components import auth |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 | 371 |
| 372 | 372 |
| 373 def validate_config(*args, **kwargs): | 373 def validate_config(*args, **kwargs): |
| 374 """Blocking version of validate_async.""" | 374 """Blocking version of validate_async.""" |
| 375 return validate_config_async(*args, **kwargs).get_result() | 375 return validate_config_async(*args, **kwargs).get_result() |
| 376 | 376 |
| 377 | 377 |
| 378 def is_url_relative(url): | 378 def is_url_relative(url): |
| 379 parsed = urlparse.urlparse(url) | 379 parsed = urlparse.urlparse(url) |
| 380 return bool(not parsed.scheme and not parsed.netloc and parsed.path) | 380 return bool(not parsed.scheme and not parsed.netloc and parsed.path) |
| OLD | NEW |