| 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 HTTP server for our HTML rebaseline viewer. | 9 HTTP server for our HTML rebaseline viewer. |
| 10 """ | 10 """ |
| (...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 447 # HTTPServer, and then it could be available to the handler via | 447 # HTTPServer, and then it could be available to the handler via |
| 448 # the handler's .server instance variable. | 448 # the handler's .server instance variable. |
| 449 results_obj = _SERVER.results | 449 results_obj = _SERVER.results |
| 450 if results_obj: | 450 if results_obj: |
| 451 response_dict = results_obj.get_packaged_results_of_type( | 451 response_dict = results_obj.get_packaged_results_of_type( |
| 452 results_type=results_type, reload_seconds=_SERVER.reload_seconds, | 452 results_type=results_type, reload_seconds=_SERVER.reload_seconds, |
| 453 is_editable=_SERVER.is_editable, is_exported=_SERVER.is_exported) | 453 is_editable=_SERVER.is_editable, is_exported=_SERVER.is_exported) |
| 454 else: | 454 else: |
| 455 now = int(time.time()) | 455 now = int(time.time()) |
| 456 response_dict = { | 456 response_dict = { |
| 457 results_mod.KEY__HEADER: { | 457 imagepairset.KEY__ROOT__HEADER: { |
| 458 results_mod.KEY__HEADER__SCHEMA_VERSION: ( | 458 results_mod.KEY__HEADER__SCHEMA_VERSION: ( |
| 459 results_mod.REBASELINE_SERVER_SCHEMA_VERSION_NUMBER), | 459 results_mod.VALUE__HEADER__SCHEMA_VERSION), |
| 460 results_mod.KEY__HEADER__IS_STILL_LOADING: True, | 460 results_mod.KEY__HEADER__IS_STILL_LOADING: True, |
| 461 results_mod.KEY__HEADER__TIME_UPDATED: now, | 461 results_mod.KEY__HEADER__TIME_UPDATED: now, |
| 462 results_mod.KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE: ( | 462 results_mod.KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE: ( |
| 463 now + RELOAD_INTERVAL_UNTIL_READY), | 463 now + RELOAD_INTERVAL_UNTIL_READY), |
| 464 }, | 464 }, |
| 465 } | 465 } |
| 466 self.send_json_dict(response_dict) | 466 self.send_json_dict(response_dict) |
| 467 | 467 |
| 468 def do_GET_static(self, path): | 468 def do_GET_static(self, path): |
| 469 """ Handle a GET request for a file under STATIC_CONTENTS_SUBDIR . | 469 """ Handle a GET request for a file under STATIC_CONTENTS_SUBDIR . |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 data) | 542 data) |
| 543 | 543 |
| 544 # Update the results on disk with the information we received from the | 544 # Update the results on disk with the information we received from the |
| 545 # client. | 545 # client. |
| 546 # We must hold _SERVER.results_rlock while we do this, to guarantee that | 546 # We must hold _SERVER.results_rlock while we do this, to guarantee that |
| 547 # no other thread updates expectations (from the Skia repo) while we are | 547 # no other thread updates expectations (from the Skia repo) while we are |
| 548 # updating them (using the info we received from the client). | 548 # updating them (using the info we received from the client). |
| 549 with _SERVER.results_rlock: | 549 with _SERVER.results_rlock: |
| 550 oldResultsType = data[KEY__EDITS__OLD_RESULTS_TYPE] | 550 oldResultsType = data[KEY__EDITS__OLD_RESULTS_TYPE] |
| 551 oldResults = _SERVER.results.get_results_of_type(oldResultsType) | 551 oldResults = _SERVER.results.get_results_of_type(oldResultsType) |
| 552 oldResultsHash = str(hash(repr(oldResults[imagepairset.KEY__IMAGEPAIRS]))) | 552 oldResultsHash = str(hash(repr( |
| 553 oldResults[imagepairset.KEY__ROOT__IMAGEPAIRS]))) |
| 553 if oldResultsHash != data[KEY__EDITS__OLD_RESULTS_HASH]: | 554 if oldResultsHash != data[KEY__EDITS__OLD_RESULTS_HASH]: |
| 554 raise Exception('results of type "%s" changed while the client was ' | 555 raise Exception('results of type "%s" changed while the client was ' |
| 555 'making modifications. The client should reload the ' | 556 'making modifications. The client should reload the ' |
| 556 'results and submit the modifications again.' % | 557 'results and submit the modifications again.' % |
| 557 oldResultsType) | 558 oldResultsType) |
| 558 _SERVER.results.edit_expectations(data[KEY__EDITS__MODIFICATIONS]) | 559 _SERVER.results.edit_expectations(data[KEY__EDITS__MODIFICATIONS]) |
| 559 | 560 |
| 560 # Read the updated results back from disk. | 561 # Read the updated results back from disk. |
| 561 # We can do this in a separate thread; we should return our success message | 562 # We can do this in a separate thread; we should return our success message |
| 562 # to the UI as soon as possible. | 563 # to the UI as soon as possible. |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 actuals_repo_revision=args.actuals_revision, | 673 actuals_repo_revision=args.actuals_revision, |
| 673 actuals_repo_url=args.actuals_repo, | 674 actuals_repo_url=args.actuals_repo, |
| 674 port=args.port, export=args.export, editable=args.editable, | 675 port=args.port, export=args.export, editable=args.editable, |
| 675 reload_seconds=args.reload, config_pairs=config_pairs, | 676 reload_seconds=args.reload, config_pairs=config_pairs, |
| 676 builder_regex_list=args.builders) | 677 builder_regex_list=args.builders) |
| 677 _SERVER.run() | 678 _SERVER.run() |
| 678 | 679 |
| 679 | 680 |
| 680 if __name__ == '__main__': | 681 if __name__ == '__main__': |
| 681 main() | 682 main() |
| OLD | NEW |