diff options
author | 2014-03-17 14:22:02 +0000 | |
---|---|---|
committer | 2014-03-17 14:22:02 +0000 | |
commit | d1c85d29204ad94950b23014c03e781409b9b682 (patch) | |
tree | e6c068261660cbeb9d0f9f6cd9ce149d66b90625 /gm/rebaseline_server/imagepairset.py | |
parent | 1d1f2347d303852172fb7629c27d295ef68d9a3c (diff) |
rebaseline_server: make intermediate JSON specify base urls for diff images
BUG=skia:1919,skia:2230
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/196533021
git-svn-id: http://skia.googlecode.com/svn/trunk@13830 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/rebaseline_server/imagepairset.py')
-rw-r--r-- | gm/rebaseline_server/imagepairset.py | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/gm/rebaseline_server/imagepairset.py b/gm/rebaseline_server/imagepairset.py index 26c833e1b0..48c3064718 100644 --- a/gm/rebaseline_server/imagepairset.py +++ b/gm/rebaseline_server/imagepairset.py @@ -9,6 +9,10 @@ found in the LICENSE file. ImagePairSet class; see its docstring below. """ +# System-level imports +import posixpath + +# Local imports import column # Keys used within dictionary representation of ImagePairSet. @@ -16,10 +20,15 @@ import column KEY__EXTRACOLUMNHEADERS = 'extraColumnHeaders' KEY__IMAGEPAIRS = 'imagePairs' KEY__IMAGESETS = 'imageSets' -KEY__IMAGESETS__BASE_URL = 'baseUrl' -KEY__IMAGESETS__DESCRIPTION = 'description' +KEY__IMAGESETS__FIELD__BASE_URL = 'baseUrl' +KEY__IMAGESETS__FIELD__DESCRIPTION = 'description' +KEY__IMAGESETS__SET__DIFFS = 'diffs' +KEY__IMAGESETS__SET__IMAGE_A = 'imageA' +KEY__IMAGESETS__SET__IMAGE_B = 'imageB' +KEY__IMAGESETS__SET__WHITEDIFFS = 'whiteDiffs' DEFAULT_DESCRIPTIONS = ('setA', 'setB') +DIFF_BASE_URL = '/static/generated-images' class ImagePairSet(object): @@ -42,16 +51,18 @@ class ImagePairSet(object): self._extra_column_tallies = {} # maps column_id -> values # -> instances_per_value self._image_pair_dicts = [] + self._image_base_url = None + self._diff_base_url = DIFF_BASE_URL def add_image_pair(self, image_pair): """Adds an ImagePair; this may be repeated any number of times.""" # Special handling when we add the first ImagePair... if not self._image_pair_dicts: - self._base_url = image_pair.base_url + self._image_base_url = image_pair.base_url - if image_pair.base_url != self._base_url: + if image_pair.base_url != self._image_base_url: raise Exception('added ImagePair with base_url "%s" instead of "%s"' % ( - image_pair.base_url, self._base_url)) + image_pair.base_url, self._image_base_url)) self._image_pair_dicts.append(image_pair.as_dict()) extra_columns_dict = image_pair.extra_columns_dict if extra_columns_dict: @@ -127,14 +138,29 @@ class ImagePairSet(object): Uses the KEY__* constants as keys. """ + key_description = KEY__IMAGESETS__FIELD__DESCRIPTION + key_base_url = KEY__IMAGESETS__FIELD__BASE_URL return { KEY__EXTRACOLUMNHEADERS: self._column_headers_as_dict(), KEY__IMAGEPAIRS: self._image_pair_dicts, - KEY__IMAGESETS: [{ - KEY__IMAGESETS__BASE_URL: self._base_url, - KEY__IMAGESETS__DESCRIPTION: self._descriptions[0], - }, { - KEY__IMAGESETS__BASE_URL: self._base_url, - KEY__IMAGESETS__DESCRIPTION: self._descriptions[1], - }], + KEY__IMAGESETS: { + KEY__IMAGESETS__SET__IMAGE_A: { + key_description: self._descriptions[0], + key_base_url: self._image_base_url, + }, + KEY__IMAGESETS__SET__IMAGE_B: { + key_description: self._descriptions[1], + key_base_url: self._image_base_url, + }, + KEY__IMAGESETS__SET__DIFFS: { + key_description: 'color difference per channel', + key_base_url: posixpath.join( + self._diff_base_url, 'diffs'), + }, + KEY__IMAGESETS__SET__WHITEDIFFS: { + key_description: 'differing pixels in white', + key_base_url: posixpath.join( + self._diff_base_url, 'whitediffs'), + }, + }, } |