| OLD | NEW |
| 1 # This Source Code Form is subject to the terms of the Mozilla Public | 1 # This Source Code Form is subject to the terms of the Mozilla Public |
| 2 # License, v. 2.0. If a copy of the MPL was not distributed with this | 2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
| 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. | 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| 4 | 4 |
| 5 import re | 5 import re |
| 6 import os | 6 import os |
| 7 import sys | 7 import sys |
| 8 import codecs | 8 import codecs |
| 9 import json | 9 import json |
| 10 import urlparse | 10 import urlparse |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 locales.add(match.group(1)) | 119 locales.add(match.group(1)) |
| 120 | 120 |
| 121 # We don't translate indvidual dialects of languages | 121 # We don't translate indvidual dialects of languages |
| 122 # other than English, Spanish, Portuguese and Chinese. | 122 # other than English, Spanish, Portuguese and Chinese. |
| 123 for locale in list(locales): | 123 for locale in list(locales): |
| 124 prefix = locale.split('-')[0] | 124 prefix = locale.split('-')[0] |
| 125 if prefix not in {'en', 'es', 'pt', 'zh'}: | 125 if prefix not in {'en', 'es', 'pt', 'zh'}: |
| 126 locales.remove(locale) | 126 locales.remove(locale) |
| 127 locales.add(prefix) | 127 locales.add(prefix) |
| 128 | 128 |
| 129 # Add languages with existing translations. | 129 # Add languages with existing translations. |
| 130 locales.update(localeConfig['locales']) | 130 locales.update(localeConfig['locales']) |
| 131 | 131 |
| 132 # Don't add the language we translate from as target translation. | 132 # Don't add the language we translate from as target translation. |
| 133 locales.remove(localeConfig['default_locale'].replace('_', '-')) | 133 locales.remove(localeConfig['default_locale'].replace('_', '-')) |
| 134 | 134 |
| 135 # Convert to locales understood by Crowdin. | 135 # Convert to locales understood by Crowdin. |
| 136 locales = {CROWDIN_LANG_MAPPING.get(locale, locale) for locale in locales} | 136 locales = {CROWDIN_LANG_MAPPING.get(locale, locale) for locale in locales} |
| 137 allowed = {locale['crowdin_code'] for locale in | 137 allowed = {locale['crowdin_code'] for locale in |
| 138 crowdin_request(projectName, 'supported-languages', key)} | 138 crowdin_request(projectName, 'supported-languages', key)} |
| 139 if not allowed.issuperset(locales): | 139 if not allowed.issuperset(locales): |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 290 # Remove any extra files | 290 # Remove any extra files |
| 291 for dir, files in dirs.iteritems(): | 291 for dir, files in dirs.iteritems(): |
| 292 baseDir = os.path.join(localeConfig['base_path'], dir) | 292 baseDir = os.path.join(localeConfig['base_path'], dir) |
| 293 if not os.path.exists(baseDir): | 293 if not os.path.exists(baseDir): |
| 294 continue | 294 continue |
| 295 for file in os.listdir(baseDir): | 295 for file in os.listdir(baseDir): |
| 296 path = os.path.join(baseDir, file) | 296 path = os.path.join(baseDir, file) |
| 297 valid_extension = file.endswith('.json') | 297 valid_extension = file.endswith('.json') |
| 298 if os.path.isfile(path) and valid_extension and not file in files: | 298 if os.path.isfile(path) and valid_extension and not file in files: |
| 299 os.remove(path) | 299 os.remove(path) |
| OLD | NEW |