Index: grit/tool/diff_structures.py |
diff --git a/grit/tool/diff_structures.py b/grit/tool/diff_structures.py |
deleted file mode 100644 |
index e2b10b9a9b4b460c4e12acf23d6807c01ca8fc5c..0000000000000000000000000000000000000000 |
--- a/grit/tool/diff_structures.py |
+++ /dev/null |
@@ -1,114 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-'''The 'grit sdiff' tool. |
-''' |
- |
-import os |
-import getopt |
-import tempfile |
- |
-from grit.node import structure |
-from grit.tool import interface |
- |
-from grit import constants |
-from grit import util |
- |
-# Builds the description for the tool (used as the __doc__ |
-# for the DiffStructures class). |
-_class_doc = """\ |
-Allows you to view the differences in the structure of two files, |
-disregarding their translateable content. Translateable portions of |
-each file are changed to the string "TTTTTT" before invoking the diff program |
-specified by the P4DIFF environment variable. |
- |
-Usage: grit sdiff [-t TYPE] [-s SECTION] [-e ENCODING] LEFT RIGHT |
- |
-LEFT and RIGHT are the files you want to diff. SECTION is required |
-for structure types like 'dialog' to identify the part of the file to look at. |
-ENCODING indicates the encoding of the left and right files (default 'cp1252'). |
-TYPE can be one of the following, defaults to 'tr_html': |
-""" |
-for gatherer in structure._GATHERERS: |
- _class_doc += " - %s\n" % gatherer |
- |
- |
-class DiffStructures(interface.Tool): |
- __doc__ = _class_doc |
- |
- def __init__(self): |
- self.section = None |
- self.left_encoding = 'cp1252' |
- self.right_encoding = 'cp1252' |
- self.structure_type = 'tr_html' |
- |
- def ShortDescription(self): |
- return 'View differences without regard for translateable portions.' |
- |
- def Run(self, global_opts, args): |
- (opts, args) = getopt.getopt(args, 's:e:t:', |
- ['left_encoding=', 'right_encoding=']) |
- for key, val in opts: |
- if key == '-s': |
- self.section = val |
- elif key == '-e': |
- self.left_encoding = val |
- self.right_encoding = val |
- elif key == '-t': |
- self.structure_type = val |
- elif key == '--left_encoding': |
- self.left_encoding = val |
- elif key == '--right_encoding': |
- self.right_encoding == val |
- |
- if len(args) != 2: |
- print "Incorrect usage - 'grit help sdiff' for usage details." |
- return 2 |
- |
- if 'P4DIFF' not in os.environ: |
- print "Environment variable P4DIFF not set; defaulting to 'windiff'." |
- diff_program = 'windiff' |
- else: |
- diff_program = os.environ['P4DIFF'] |
- |
- left_trans = self.MakeStaticTranslation(args[0], self.left_encoding) |
- try: |
- try: |
- right_trans = self.MakeStaticTranslation(args[1], self.right_encoding) |
- |
- os.system('%s %s %s' % (diff_program, left_trans, right_trans)) |
- finally: |
- os.unlink(right_trans) |
- finally: |
- os.unlink(left_trans) |
- |
- def MakeStaticTranslation(self, original_filename, encoding): |
- """Given the name of the structure type (self.structure_type), the filename |
- of the file holding the original structure, and optionally the "section" key |
- identifying the part of the file to look at (self.section), creates a |
- temporary file holding a "static" translation of the original structure |
- (i.e. one where all translateable parts have been replaced with "TTTTTT") |
- and returns the temporary file name. It is the caller's responsibility to |
- delete the file when finished. |
- |
- Args: |
- original_filename: 'c:\\bingo\\bla.rc' |
- |
- Return: |
- 'c:\\temp\\werlkjsdf334.tmp' |
- """ |
- original = structure._GATHERERS[self.structure_type](original_filename, |
- extkey=self.section, |
- encoding=encoding) |
- original.Parse() |
- translated = original.Translate(constants.CONSTANT_LANGUAGE, False) |
- |
- fname = tempfile.mktemp() |
- with util.WrapOutputStream(open(fname, 'w')) as writer: |
- writer.write("Original filename: %s\n=============\n\n" |
- % original_filename) |
- writer.write(translated) # write in UTF-8 |
- |
- return fname |