Sync edgetx to Gitea
This commit is contained in:
Executable
+65
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import argparse
|
||||
import codecs
|
||||
import sys
|
||||
from charset import special_chars, get_chars_encoding, special_chars_BW, get_chars_encoding_BW
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Encoder for OpenTX translations')
|
||||
parser.add_argument('input', action="store", help="Input file name")
|
||||
parser.add_argument('output', action="store", help="Output file name")
|
||||
parser.add_argument('language', action="store", help="Two letter language identifier", default=None)
|
||||
parser.add_argument('bwlcd', action="store", help="Black White LCD", default="F")
|
||||
parser.add_argument("--reverse", help="Reversed char conversion (from number to char)", action="store_true")
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.bwlcd == "F":
|
||||
if args.language not in special_chars:
|
||||
parser.error(args.language + ' is not a supported language. Try one of the supported ones: %s' % list(special_chars.keys()))
|
||||
sys.exit()
|
||||
else:
|
||||
if args.language not in special_chars_BW:
|
||||
parser.error(args.language + ' is not a supported language. Try one of the supported ones: %s' % list(special_chars_BW.keys()))
|
||||
sys.exit()
|
||||
|
||||
# if args.reverse:
|
||||
# for translation in special_chars:
|
||||
# translations[translation] = [(after, before) for (before, after) in translations[translation]]
|
||||
|
||||
# Read the input file into a buffer
|
||||
in_file = codecs.open(args.input, "r", "utf-8")
|
||||
|
||||
# Write the result to a temporary file
|
||||
out_file = codecs.open(args.output, 'w', 'utf-8')
|
||||
|
||||
for line in in_file.readlines():
|
||||
# # Do the special chars replacements
|
||||
# if args.bwlcd == "F":
|
||||
# for before, after in get_chars_encoding(args.language).items():
|
||||
# line = line.replace(before, after)
|
||||
# else:
|
||||
# for before, after in get_chars_encoding_BW(args.language).items():
|
||||
# line = line.replace(before, after)
|
||||
|
||||
# if line.startswith("#define ZSTR_"):
|
||||
# before = line[32:-2]
|
||||
# after = ""
|
||||
# for c in before:
|
||||
# if ord('A') <= ord(c) <= ord('Z'):
|
||||
# c = "\\%03o" % (ord(c) - ord('A') + 1)
|
||||
# elif ord('a') <= ord(c) <= ord('z'):
|
||||
# c = "\\%03o" % (-ord(c) + ord('a') + 255)
|
||||
# elif ord('0') <= ord(c) <= ord('9'):
|
||||
# c = "\\%03o" % (ord(c) - ord('0') + 27)
|
||||
# after = after + c
|
||||
# line = line[:32] + after + line[-2:]
|
||||
out_file.write(line)
|
||||
|
||||
out_file.close()
|
||||
in_file.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user