1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-17 13:25:20 +03:00
opentx/radio/util/addtr.py
Sean Vig 4bd90d79d0 Use with open(...) as ...: context managers
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
2015-12-13 18:57:36 -06:00

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