| OLD | NEW | 
|   1 #!/usr/bin/python |   1 #!/usr/bin/python | 
|   2  |   2  | 
|   3 """ |   3 """ | 
|   4 Copyright 2014 Google Inc. |   4 Copyright 2014 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 ImagePair class (see class docstring for details) |   9 ImagePair class (see class docstring for details) | 
|  10 """ |  10 """ | 
|  11  |  11  | 
|  12 import posixpath |  12 import posixpath | 
|  13  |  13  | 
|  14 # Keys used within ImagePair dictionary representations. |  14 # Keys used within ImagePair dictionary representations. | 
|  15 KEY_DIFFERENCE_DATA = 'differenceData' |  15 KEY__DIFFERENCE_DATA = 'differenceData' | 
|  16 KEY_EXPECTATIONS_DATA = 'expectationsData' |  16 KEY__EXPECTATIONS_DATA = 'expectations' | 
|  17 KEY_EXTRA_COLUMN_VALUES = 'extraColumnValues' |  17 KEY__EXTRA_COLUMN_VALUES = 'extraColumns' | 
|  18 KEY_IMAGE_A_URL = 'imageAUrl' |  18 KEY__IMAGE_A_URL = 'imageAUrl' | 
|  19 KEY_IMAGE_B_URL = 'imageBUrl' |  19 KEY__IMAGE_B_URL = 'imageBUrl' | 
|  20 KEY_IS_DIFFERENT = 'isDifferent' |  20 KEY__IS_DIFFERENT = 'isDifferent' | 
|  21  |  21  | 
|  22  |  22  | 
|  23 class ImagePair(object): |  23 class ImagePair(object): | 
|  24   """ |  24   """Describes a pair of images, pixel difference info, and optional metadata. | 
|  25   Describes a pair of images, along with optional metadata (pixel difference |  | 
|  26   metrics, whether to ignore mismatches, etc.) |  | 
|  27   """ |  25   """ | 
|  28  |  26  | 
|  29   def __init__(self, image_diff_db, |  27   def __init__(self, image_diff_db, | 
|  30                base_url, imageA_relative_url, imageB_relative_url, |  28                base_url, imageA_relative_url, imageB_relative_url, | 
|  31                expectations=None, extra_columns=None): |  29                expectations=None, extra_columns=None): | 
|  32     """ |  30     """ | 
|  33     Args: |  31     Args: | 
|  34       image_diff_db: ImageDiffDB instance we use to generate/store image diffs |  32       image_diff_db: ImageDiffDB instance we use to generate/store image diffs | 
|  35       base_url: base of all image URLs |  33       base_url: base of all image URLs | 
|  36       imageA_relative_url: URL pointing at an image, relative to base_url |  34       imageA_relative_url: URL pointing at an image, relative to base_url | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
|  56       image_diff_db.add_image_pair( |  54       image_diff_db.add_image_pair( | 
|  57           expected_image_locator=imageA_relative_url, |  55           expected_image_locator=imageA_relative_url, | 
|  58           expected_image_url=posixpath.join(base_url, imageA_relative_url), |  56           expected_image_url=posixpath.join(base_url, imageA_relative_url), | 
|  59           actual_image_locator=imageB_relative_url, |  57           actual_image_locator=imageB_relative_url, | 
|  60           actual_image_url=posixpath.join(base_url, imageB_relative_url)) |  58           actual_image_url=posixpath.join(base_url, imageB_relative_url)) | 
|  61       self.diff_record = image_diff_db.get_diff_record( |  59       self.diff_record = image_diff_db.get_diff_record( | 
|  62           expected_image_locator=imageA_relative_url, |  60           expected_image_locator=imageA_relative_url, | 
|  63           actual_image_locator=imageB_relative_url) |  61           actual_image_locator=imageB_relative_url) | 
|  64  |  62  | 
|  65   def as_dict(self): |  63   def as_dict(self): | 
|  66     """ |  64     """Returns a dictionary describing this ImagePair. | 
|  67     Return a dictionary describing this ImagePair, as needed when constructing |  65  | 
|  68     the JSON representation.  Uses the KEY_* constants as keys. |  66     Uses the KEY__* constants as keys. | 
|  69     """ |  67     """ | 
|  70     asdict = { |  68     asdict = { | 
|  71         KEY_IMAGE_A_URL: self.imageA_relative_url, |  69         KEY__IMAGE_A_URL: self.imageA_relative_url, | 
|  72         KEY_IMAGE_B_URL: self.imageB_relative_url, |  70         KEY__IMAGE_B_URL: self.imageB_relative_url, | 
|  73     } |  71     } | 
|  74     if self.expectations_dict: |  72     if self.expectations_dict: | 
|  75       asdict[KEY_EXPECTATIONS_DATA] = self.expectations_dict |  73       asdict[KEY__EXPECTATIONS_DATA] = self.expectations_dict | 
|  76     if self.extra_columns_dict: |  74     if self.extra_columns_dict: | 
|  77       asdict[KEY_EXTRA_COLUMN_VALUES] = self.extra_columns_dict |  75       asdict[KEY__EXTRA_COLUMN_VALUES] = self.extra_columns_dict | 
|  78     if self.diff_record and (self.diff_record.get_num_pixels_differing() > 0): |  76     if self.diff_record and (self.diff_record.get_num_pixels_differing() > 0): | 
|  79       asdict[KEY_IS_DIFFERENT] = True |  77       asdict[KEY__IS_DIFFERENT] = True | 
|  80       asdict[KEY_DIFFERENCE_DATA] = self.diff_record.as_dict() |  78       asdict[KEY__DIFFERENCE_DATA] = self.diff_record.as_dict() | 
|  81     else: |  79     else: | 
|  82       asdict[KEY_IS_DIFFERENT] = False |  80       asdict[KEY__IS_DIFFERENT] = False | 
|  83     return asdict |  81     return asdict | 
| OLD | NEW |