Rewrite Sahana translation converter to produce files without escape sequences
This commit is contained in:
		
							parent
							
								
									01154a7d24
								
							
						
					
					
						commit
						6c521d367f
					
				| @ -1,32 +1,34 @@ | ||||
| #!/usr/bin/env python | ||||
| #!/usr/bin/env python3 | ||||
| 
 | ||||
| from __future__ import print_function | ||||
| from pprint import pprint | ||||
| import argparse | ||||
| import csv | ||||
| import os | ||||
| import sys | ||||
| import xlrd | ||||
| 
 | ||||
| if len(sys.argv) == 1: | ||||
|     print('Usage: {} input.(csv|xls)'.format(sys.argv[0])) | ||||
|     sys.exit(1) | ||||
| 
 | ||||
| basename, extension = os.path.splitext(sys.argv[1].lower()) | ||||
| def main(args): | ||||
|     translations = {} | ||||
|     basename, extension = os.path.splitext(args.inputfile.lower()) | ||||
| 
 | ||||
|     if extension == '.csv': | ||||
|     with open(sys.argv[1], 'rb') as csvfile: | ||||
|         with open(args.inputfile, 'r') as csvfile: | ||||
|             reader = csv.reader(csvfile, delimiter=',', quotechar='\'') | ||||
|             for line in reader: | ||||
|             translations[line[1].encode('utf-8')] = line[2].encode('utf-8') | ||||
|                 translations[line[1]] = line[2] | ||||
|     elif extension == '.xls': | ||||
|     sheet = xlrd.open_workbook(sys.argv[1]).sheet_by_index(0) | ||||
|         sheet = xlrd.open_workbook(args.inputfile).sheet_by_index(0) | ||||
|         for i in range(1, sheet.nrows): | ||||
|             row = sheet.row(i) | ||||
|         translations[row[1].value.encode('utf-8')] = row[2].value.encode('utf-8') | ||||
|             translations[row[1].value] = row[2].value | ||||
|     else: | ||||
|         print('Unknown input file extension') | ||||
|     sys.exit(1) | ||||
|         return | ||||
| 
 | ||||
| with open('{}.py'.format(basename), 'wb') as langfile: | ||||
|     pprint(translations, langfile) | ||||
|     with open('{}.py'.format(basename), 'w') as langfile: | ||||
|         print('# -*- coding: utf-8 -*-', file=langfile) | ||||
|         pprint(translations, langfile, 0, 8192) | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     parser = argparse.ArgumentParser(description='Spotter Cluster Sahana Eden translation converter') | ||||
|     parser.add_argument('inputfile', help='CSV or XLS translation file.') | ||||
|     main(parser.parse_args()) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user