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 |