OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Replaces "Chrome Remote Desktop" with "Chromoting" in GRD files""" | 6 """Replaces "Chrome Remote Desktop" with "Chromoting" in GRD files""" |
7 | 7 |
8 import sys | 8 import sys |
9 from optparse import OptionParser | 9 from optparse import OptionParser |
10 import xml.dom.minidom as minidom | 10 import xml.dom.minidom as minidom |
11 | 11 |
12 def update_xml_node(element): | 12 def update_xml_node(element): |
13 for child in element.childNodes: | 13 for child in element.childNodes: |
14 if child.nodeType == minidom.Node.ELEMENT_NODE: | 14 if child.nodeType == minidom.Node.ELEMENT_NODE: |
15 update_xml_node(child) | 15 update_xml_node(child) |
16 elif child.nodeType == minidom.Node.TEXT_NODE: | 16 elif child.nodeType == minidom.Node.TEXT_NODE: |
17 child.replaceWholeText( | 17 child.replaceWholeText( |
18 child.data.replace("Chrome Remote Desktop", "Chromoting")) | 18 child.data.replace("Chrome Remote Desktop", "Chromoting")) |
19 | 19 |
20 def remove_official_branding(input, output): | 20 def remove_official_branding(input_file, output_file): |
21 xml = minidom.parse(input) | 21 xml = minidom.parse(input_file) |
22 | 22 |
23 # Remove all translations. | 23 # Remove all translations. |
24 for translations in xml.getElementsByTagName("translations"): | 24 for translations in xml.getElementsByTagName("translations"): |
25 for translation in xml.getElementsByTagName("translation"): | 25 for translation in translations.getElementsByTagName("file"): |
26 translations.removeChild(translation) | 26 translations.removeChild(translation) |
27 | 27 |
| 28 for outputs in xml.getElementsByTagName("outputs"): |
| 29 for output in outputs.getElementsByTagName("output"): |
| 30 lang = output.getAttribute("lang") |
| 31 if lang and lang != "en": |
| 32 outputs.removeChild(output) |
| 33 |
28 # Update branding. | 34 # Update branding. |
29 update_xml_node(xml) | 35 update_xml_node(xml) |
30 | 36 |
31 out = file(output, "w") | 37 out = file(output_file, "w") |
32 out.write(xml.toxml(encoding = "UTF-8")) | 38 out.write(xml.toxml(encoding = "UTF-8")) |
33 out.close() | 39 out.close() |
34 | 40 |
35 def main(): | 41 def main(): |
36 usage = 'Usage: remove_official_branding <input.grd> <output.grd>' | 42 usage = 'Usage: remove_official_branding <input.grd> <output.grd>' |
37 parser = OptionParser(usage=usage) | 43 parser = OptionParser(usage=usage) |
38 options, args = parser.parse_args() | 44 options, args = parser.parse_args() |
39 if len(args) != 2: | 45 if len(args) != 2: |
40 parser.error('two positional arguments expected') | 46 parser.error('two positional arguments expected') |
41 | 47 |
42 return remove_official_branding(args[0], args[1]) | 48 return remove_official_branding(args[0], args[1]) |
43 | 49 |
44 if __name__ == '__main__': | 50 if __name__ == '__main__': |
45 sys.exit(main()) | 51 sys.exit(main()) |
46 | 52 |
OLD | NEW |