Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 # Usage: generate_localizer [xib_path] [output_dot_h_path] [output_dot_mm_path] | 7 # Usage: generate_localizer [xib_path] [output_dot_h_path] [output_dot_mm_path] |
| 8 # | 8 # |
| 9 # Extracts all the localizable strings that start with "^IDS" from the given | 9 # Extracts all the localizable strings that start with "^IDS" from the given |
| 10 # xib file, and then generates a localizer to process those strings. | 10 # xib file, and then generates a localizer to process those strings. |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 90 if item_value.startswith('^IDS'): | 90 if item_value.startswith('^IDS'): |
| 91 constants_list.append(item_value) | 91 constants_list.append(item_value) |
| 92 elif item_value.startswith('IDS'): | 92 elif item_value.startswith('IDS'): |
| 93 sys.stderr.write( | 93 sys.stderr.write( |
| 94 '%s:0: warning: %s found a string with questionable prefix, "%s"\n' | 94 '%s:0: warning: %s found a string with questionable prefix, "%s"\n' |
| 95 % (xib_path, generate_localizer, item_value)); | 95 % (xib_path, generate_localizer, item_value)); |
| 96 return constants_list | 96 return constants_list |
| 97 | 97 |
| 98 def generate_files_contents(class_name, constants_list, header_name, xib_path): | 98 def generate_files_contents(class_name, constants_list, header_name, xib_path): |
| 99 """Generates a localizer files contents from the list of constants.""" | 99 """Generates a localizer files contents from the list of constants.""" |
| 100 # Copy and sort the list, then build the strings we need from it. | 100 # Bounce through a set to uniq the strings, sort the list, then build the |
| 101 constants_list = constants_list[:] | 101 # values we need from it. |
| 102 constants_list = list(set(constants_list)) | |
| 102 constants_list.sort() | 103 constants_list.sort() |
|
Mark Mentovai
2009/08/07 16:38:48
Even better:
constants_list = sorted(set(constant
| |
| 103 constant_list_str = '' | 104 constant_list_str = '' |
| 104 for item in constants_list: | 105 for item in constants_list: |
| 105 parts = item.split('$', 1) | 106 parts = item.split('$', 1) |
| 106 label_id = parts[0] | 107 label_id = parts[0] |
| 107 if len(parts) == 2: | 108 if len(parts) == 2: |
| 108 label_arg_id = parts[1] | 109 label_arg_id = parts[1] |
| 109 else: | 110 else: |
| 110 label_arg_id = '0' | 111 label_arg_id = '0' |
| 111 constant_list_str += ' { "%s", %s, %s },\n' % \ | 112 constant_list_str += ' { "%s", %s, %s },\n' % \ |
| 112 ( item, label_id[1:], label_arg_id) | 113 ( item, label_id[1:], label_arg_id) |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 169 file_fd.write(h_file_content) | 170 file_fd.write(h_file_content) |
| 170 file_fd.close() | 171 file_fd.close() |
| 171 file_fd = open(output_mm_path, 'w') | 172 file_fd = open(output_mm_path, 'w') |
| 172 file_fd.write(mm_file_content) | 173 file_fd.write(mm_file_content) |
| 173 file_fd.close() | 174 file_fd.close() |
| 174 | 175 |
| 175 return 0 | 176 return 0 |
| 176 | 177 |
| 177 if __name__ == '__main__': | 178 if __name__ == '__main__': |
| 178 sys.exit(Main(sys.argv)) | 179 sys.exit(Main(sys.argv)) |
| OLD | NEW |