Index: gm/rebaseline_server/results.py |
diff --git a/gm/rebaseline_server/results.py b/gm/rebaseline_server/results.py |
index 0a53136a2508a181a04f8ebe5722e2431bb6f932..66105a49213bc182ac554df882e8ced12404efbd 100755 |
--- a/gm/rebaseline_server/results.py |
+++ b/gm/rebaseline_server/results.py |
@@ -21,6 +21,10 @@ import time |
# Imports from within Skia |
# |
+# TODO(epoger): Once we move the create_filepath_url() function out of |
+# download_actuals into a shared utility module, we won't need to import |
+# download_actuals anymore. |
+# |
# We need to add the 'gm' directory, so that we can import gm_json.py within |
# that directory. That script allows us to parse the actual-results.json file |
# written out by the GM tool. |
@@ -31,6 +35,7 @@ GM_DIRECTORY = os.path.dirname(PARENT_DIRECTORY) |
TRUNK_DIRECTORY = os.path.dirname(GM_DIRECTORY) |
if GM_DIRECTORY not in sys.path: |
sys.path.append(GM_DIRECTORY) |
+import download_actuals |
import gm_json |
import imagediffdb |
import imagepair |
@@ -76,8 +81,8 @@ IMAGEPAIR_SET_DESCRIPTIONS = ('expected image', 'actual image') |
DEFAULT_ACTUALS_DIR = '.gm-actuals' |
DEFAULT_EXPECTATIONS_DIR = os.path.join(TRUNK_DIRECTORY, 'expectations', 'gm') |
-DEFAULT_GENERATED_IMAGES_ROOT = os.path.join(PARENT_DIRECTORY, 'static', |
- 'generated-images') |
+DEFAULT_GENERATED_IMAGES_ROOT = os.path.join( |
+ PARENT_DIRECTORY, '.generated-images') |
class Results(object): |
@@ -92,16 +97,23 @@ class Results(object): |
def __init__(self, actuals_root=DEFAULT_ACTUALS_DIR, |
expected_root=DEFAULT_EXPECTATIONS_DIR, |
- generated_images_root=DEFAULT_GENERATED_IMAGES_ROOT): |
+ generated_images_root=DEFAULT_GENERATED_IMAGES_ROOT, |
+ diff_base_url=None): |
""" |
Args: |
actuals_root: root directory containing all actual-results.json files |
expected_root: root directory containing all expected-results.json files |
generated_images_root: directory within which to create all pixel diffs; |
if this directory does not yet exist, it will be created |
+ diff_base_url: base URL within which the client should look for diff |
+ images; if not specified, defaults to a "file:///" URL representation |
+ of generated_images_root |
""" |
time_start = int(time.time()) |
self._image_diff_db = imagediffdb.ImageDiffDB(generated_images_root) |
+ self._diff_base_url = ( |
+ diff_base_url or |
+ download_actuals.create_filepath_url(generated_images_root)) |
self._actuals_root = actuals_root |
self._expected_root = expected_root |
self._load_actual_and_expected() |
@@ -343,8 +355,12 @@ class Results(object): |
self._expected_root) |
expected_builder_dicts = Results._read_dicts_from_root(self._expected_root) |
- all_image_pairs = imagepairset.ImagePairSet(IMAGEPAIR_SET_DESCRIPTIONS) |
- failing_image_pairs = imagepairset.ImagePairSet(IMAGEPAIR_SET_DESCRIPTIONS) |
+ all_image_pairs = imagepairset.ImagePairSet( |
+ descriptions=IMAGEPAIR_SET_DESCRIPTIONS, |
+ diff_base_url=self._diff_base_url) |
+ failing_image_pairs = imagepairset.ImagePairSet( |
+ descriptions=IMAGEPAIR_SET_DESCRIPTIONS, |
+ diff_base_url=self._diff_base_url) |
all_image_pairs.ensure_extra_column_values_in_summary( |
column_id=KEY__EXTRACOLUMN__RESULT_TYPE, values=[ |