| Index: gm/rebaseline_server/server.py
|
| diff --git a/gm/rebaseline_server/server.py b/gm/rebaseline_server/server.py
|
| index 0079ec55fffd0438756a4e7fc94b32f0c99490bb..a10bc8c2137f8d5572008fde2d5209672e75b11c 100755
|
| --- a/gm/rebaseline_server/server.py
|
| +++ b/gm/rebaseline_server/server.py
|
| @@ -25,16 +25,22 @@ import threading
|
| import time
|
| import urlparse
|
|
|
| +# Must fix up PYTHONPATH before importing from within Skia
|
| +# pylint: disable=W0611
|
| +import fix_pythonpath
|
| +# pylint: enable=W0611
|
| +
|
| # Imports from within Skia
|
| -import fix_pythonpath # must do this first
|
| from pyutils import gs_utils
|
| import gm_json
|
|
|
| # Imports from local dir
|
| #
|
| +# pylint: disable=C0301
|
| # Note: we import results under a different name, to avoid confusion with the
|
| # Server.results() property. See discussion at
|
| # https://codereview.chromium.org/195943004/diff/1/gm/rebaseline_server/server.py#newcode44
|
| +# pylint: enable=C0301
|
| import compare_configs
|
| import compare_to_expectations
|
| import download_actuals
|
| @@ -59,6 +65,11 @@ MIME_TYPE_MAP = {'': 'application/octet-stream',
|
| KEY__EDITS__MODIFICATIONS = 'modifications'
|
| KEY__EDITS__OLD_RESULTS_HASH = 'oldResultsHash'
|
| KEY__EDITS__OLD_RESULTS_TYPE = 'oldResultsType'
|
| +URL_KEY__SCHEMA_VERSION = 'urlSchemaVersion'
|
| +URL_VALUE__SCHEMA_VERSION__CURRENT = 0
|
| +# always interpret as then-current schema version;
|
| +# used for toplevel links on index page
|
| +URL_VALUE__SCHEMA_VERSION__ALWAYS_CURRENT = 'current'
|
|
|
| DEFAULT_ACTUALS_DIR = results_mod.DEFAULT_ACTUALS_DIR
|
| DEFAULT_GM_SUMMARIES_BUCKET = download_actuals.GM_SUMMARIES_BUCKET
|
| @@ -157,11 +168,15 @@ def _create_index(file_path, config_pairs):
|
| file_handle.write('<li>Expectations vs Actuals</li><ul>')
|
| for summary_type in SUMMARY_TYPES:
|
| file_handle.write(
|
| - '<li>'
|
| - '<a href="/%s/view.html#/view.html?resultsToLoad=/%s/%s">'
|
| - '%s</a></li>' % (
|
| - STATIC_CONTENTS_SUBDIR, RESULTS_SUBDIR,
|
| - summary_type, summary_type))
|
| + '<li><a href="/{static_subdir}/view.html#/view.html?'
|
| + '{version_key}={version_value}&'
|
| + 'resultsToLoad=/{results_subdir}/{summary_type}">'
|
| + '{summary_type}</a></li>'.format(
|
| + results_subdir=RESULTS_SUBDIR,
|
| + static_subdir=STATIC_CONTENTS_SUBDIR,
|
| + summary_type=summary_type,
|
| + version_key=URL_KEY__SCHEMA_VERSION,
|
| + version_value=URL_VALUE__SCHEMA_VERSION__ALWAYS_CURRENT))
|
| file_handle.write('</ul>')
|
| if config_pairs:
|
| file_handle.write('<li>Comparing configs within actual results</li><ul>')
|
| @@ -346,7 +361,7 @@ class Server(object):
|
| json_dir = os.path.join(
|
| PARENT_DIRECTORY, STATIC_CONTENTS_SUBDIR, GENERATED_JSON_SUBDIR)
|
| if not os.path.isdir(json_dir):
|
| - os.makedirs(json_dir)
|
| + os.makedirs(json_dir)
|
|
|
| for config_pair in self._config_pairs:
|
| config_comparisons = compare_configs.ConfigComparisons(
|
| @@ -395,6 +410,7 @@ class Server(object):
|
| else:
|
| host = '127.0.0.1'
|
| server_address = (host, self._port)
|
| + # pylint: disable=W0201
|
| http_server = BaseHTTPServer.HTTPServer(server_address, HTTPRequestHandler)
|
| self._url = 'http://%s:%d' % (host, http_server.server_port)
|
| logging.info('Listening for requests on %s' % self._url)
|
|
|