mirror of
https://github.com/opentx/opentx.git
synced 2025-07-17 13:25:20 +03:00
Instead of manually opening and closes file objects, use the context manager that will properly handle opening and closing files for us, even in the event of some error
45 lines
1.3 KiB
Python
Executable file
45 lines
1.3 KiB
Python
Executable file
#!/bin/env python
|
|
|
|
from __future__ import print_function
|
|
|
|
import sys
|
|
import glob
|
|
|
|
|
|
def addLine(filename, newline, after):
|
|
print(filename, newline)
|
|
with open(filename, 'r') as f:
|
|
lines = f.readlines()
|
|
for i, line in enumerate(lines):
|
|
if after in line:
|
|
lines.insert(i + 1, newline + '\n')
|
|
break
|
|
with open(filename, 'w') as f:
|
|
f.writelines(lines)
|
|
|
|
|
|
def modifyTranslations(constant, translation, after):
|
|
for filename in glob.glob('translations/*.h.txt'):
|
|
newline = "#define " + constant + " " * max(1, 23 - len(constant)) + '"' + translation + '"'
|
|
addLine(filename, newline, after + " ")
|
|
|
|
|
|
def modifyDeclaration(constant, after):
|
|
newline = "extern const pm_char S" + constant + "[];"
|
|
filename = "translations.h"
|
|
addLine(filename, newline, after + "[];")
|
|
|
|
|
|
def modifyDefinition(constant, after):
|
|
newline = "const pm_char S" + constant + "[] PROGMEM = " + constant + ";"
|
|
filename = "translations.cpp"
|
|
addLine(filename, newline, after + "[] ")
|
|
|
|
|
|
after = sys.argv[-1]
|
|
for arg in sys.argv[1:-1]:
|
|
constant, translation = arg.split("=")
|
|
modifyTranslations(constant, translation, after)
|
|
modifyDeclaration(constant, after)
|
|
modifyDefinition(constant, after)
|
|
after = constant
|