| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 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 """\ | 6 """\ |
| 7 Wrapper script around Rietveld's upload.py that simplifies working with groups | 7 Wrapper script around Rietveld's upload.py that simplifies working with groups |
| 8 of files. | 8 of files. |
| 9 """ | 9 """ |
| 10 | 10 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 def GetCachedFile(filename, max_age=60*60*24*3, use_root=False): | 116 def GetCachedFile(filename, max_age=60*60*24*3, use_root=False): |
| 117 """Retrieves a file from the repository and caches it in GetCacheDir() for | 117 """Retrieves a file from the repository and caches it in GetCacheDir() for |
| 118 max_age seconds. | 118 max_age seconds. |
| 119 | 119 |
| 120 use_root: If False, look up the arborescence for the first match, otherwise go | 120 use_root: If False, look up the arborescence for the first match, otherwise go |
| 121 directory to the root repository. | 121 directory to the root repository. |
| 122 | 122 |
| 123 Note: The cache will be inconsistent if the same file is retrieved with both | 123 Note: The cache will be inconsistent if the same file is retrieved with both |
| 124 use_root=True and use_root=False. Don't be stupid. | 124 use_root=True and use_root=False. Don't be stupid. |
| 125 """ | 125 """ |
| 126 if not os.path.isdir(GetCacheDir()): | |
| 127 os.makedirs(GetCacheDir()) | |
| 128 | |
| 129 if filename not in FILES_CACHE: | 126 if filename not in FILES_CACHE: |
| 130 # Don't try to look up twice. | 127 # Don't try to look up twice. |
| 131 FILES_CACHE[filename] = None | 128 FILES_CACHE[filename] = None |
| 132 # First we check if we have a cached version. | 129 # First we check if we have a cached version. |
| 133 try: | 130 try: |
| 134 cached_file = os.path.join(GetCacheDir(), filename) | 131 cached_file = os.path.join(GetCacheDir(), filename) |
| 135 except (gclient_utils.Error, subprocess2.CalledProcessError): | 132 except (gclient_utils.Error, subprocess2.CalledProcessError): |
| 136 return None | 133 return None |
| 137 if (not os.path.exists(cached_file) or | 134 if (not os.path.exists(cached_file) or |
| 138 (time.time() - os.stat(cached_file).st_mtime) > max_age): | 135 (time.time() - os.stat(cached_file).st_mtime) > max_age): |
| (...skipping 1321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1460 raise | 1457 raise |
| 1461 print >> sys.stderr, ( | 1458 print >> sys.stderr, ( |
| 1462 'AppEngine is misbehaving and returned HTTP %d, again. Keep faith ' | 1459 'AppEngine is misbehaving and returned HTTP %d, again. Keep faith ' |
| 1463 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e)) | 1460 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e)) |
| 1464 return 1 | 1461 return 1 |
| 1465 | 1462 |
| 1466 | 1463 |
| 1467 if __name__ == "__main__": | 1464 if __name__ == "__main__": |
| 1468 fix_encoding.fix_encoding() | 1465 fix_encoding.fix_encoding() |
| 1469 sys.exit(main(sys.argv[1:])) | 1466 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |