Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 """ | 3 """ |
| 4 Copyright 2013 Google Inc. | 4 Copyright 2013 Google Inc. |
| 5 | 5 |
| 6 Use of this source code is governed by a BSD-style license that can be | 6 Use of this source code is governed by a BSD-style license that can be |
| 7 found in the LICENSE file. | 7 found in the LICENSE file. |
| 8 | 8 |
| 9 Calulate differences between image pairs, and store them in a database. | 9 Calulate differences between image pairs, and store them in a database. |
| 10 """ | 10 """ |
| (...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 380 """Wrapper for Image.open(filepath) that yields more useful error messages. | 380 """Wrapper for Image.open(filepath) that yields more useful error messages. |
| 381 | 381 |
| 382 Args: | 382 Args: |
| 383 filepath: path on local disk to load image from | 383 filepath: path on local disk to load image from |
| 384 | 384 |
| 385 Returns: a PIL image object | 385 Returns: a PIL image object |
| 386 """ | 386 """ |
| 387 try: | 387 try: |
| 388 return Image.open(filepath) | 388 return Image.open(filepath) |
| 389 except IOError: | 389 except IOError: |
| 390 logging.error('IOError loading image file %s' % filepath) | 390 # If we are unable to load an image from the file, delete it from disk |
| 391 # and we will try to fetch it again next time. Fixes http://skbug.com/2247 | |
| 392 logging.error('IOError loading image file %s ; deleting it.' % filepath) | |
| 393 os.remove(filepath) | |
|
borenet
2014/03/26 13:17:21
Is there a chance that the file may not exist? I
epoger
2014/03/26 13:38:12
I suppose it's possible. For the reason you menti
| |
| 391 raise | 394 raise |
| 392 | 395 |
| 393 | 396 |
| 394 def _save_image(image, filepath, format='PNG'): | 397 def _save_image(image, filepath, format='PNG'): |
| 395 """Write an image to disk, creating any intermediate directories as needed. | 398 """Write an image to disk, creating any intermediate directories as needed. |
| 396 | 399 |
| 397 Args: | 400 Args: |
| 398 image: a PIL image object | 401 image: a PIL image object |
| 399 filepath: path on local disk to write image to | 402 filepath: path on local disk to write image to |
| 400 format: one of the PIL image formats, listed at | 403 format: one of the PIL image formats, listed at |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 433 | 436 |
| 434 Args: | 437 Args: |
| 435 expected_image_locator: locator string pointing at expected image | 438 expected_image_locator: locator string pointing at expected image |
| 436 actual_image_locator: locator string pointing at actual image | 439 actual_image_locator: locator string pointing at actual image |
| 437 | 440 |
| 438 Returns: already-sanitized locator where the diffs between expected and | 441 Returns: already-sanitized locator where the diffs between expected and |
| 439 actual images can be found | 442 actual images can be found |
| 440 """ | 443 """ |
| 441 return "%s-vs-%s" % (_sanitize_locator(expected_image_locator), | 444 return "%s-vs-%s" % (_sanitize_locator(expected_image_locator), |
| 442 _sanitize_locator(actual_image_locator)) | 445 _sanitize_locator(actual_image_locator)) |
| OLD | NEW |