12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/usr/bin/python
- '''
- Copyright 2013 Google Inc.
- Use of this source code is governed by a BSD-style license that can be
- found in the LICENSE file.
- '''
- '''
- Rewrites a JSON file to use Python's standard JSON pretty-print format,
- so that subsequent runs of rebaseline.py will generate useful diffs
- (only the actual checksum differences will show up as diffs, not obscured
- by format differences).
- Should not modify the JSON contents in any meaningful way.
- '''
- # System-level imports
- import argparse
- import os
- import sys
- # Imports from within Skia
- #
- # 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.
- # Make sure that the 'gm' dir is in the PYTHONPATH, but add it at the *end*
- # so any dirs that are already in the PYTHONPATH will be preferred.
- #
- # This assumes that the 'gm' directory has been checked out as a sibling of
- # the 'tools' directory containing this script, which will be the case if
- # 'trunk' was checked out as a single unit.
- GM_DIRECTORY = os.path.realpath(
- os.path.join(os.path.dirname(os.path.dirname(__file__)), 'gm'))
- if GM_DIRECTORY not in sys.path:
- sys.path.append(GM_DIRECTORY)
- import gm_json
- def Reformat(filename):
- print 'Reformatting file %s...' % filename
- gm_json.WriteToFile(gm_json.LoadFromFile(filename), filename)
- def _Main():
- parser = argparse.ArgumentParser(description='Reformat JSON files in-place.')
- parser.add_argument('filenames', metavar='FILENAME', nargs='+',
- help='file to reformat')
- args = parser.parse_args()
- for filename in args.filenames:
- Reformat(filename)
- sys.exit(0)
- if __name__ == '__main__':
- _Main()
|