50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import sys
|
|
import subprocess
|
|
|
|
|
|
cd = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
locale_path = os.path.join(cd, "locale")
|
|
pot_file_path = os.path.join(locale_path, "TTMediaBot.pot")
|
|
source_paths = [os.path.join(cd, "bot"), os.path.join(cd, "TTMediaBot.py")]
|
|
babel_prefix = "{} -m babel.messages.frontend".format(sys.executable)
|
|
locale_domain = "TTMediaBot"
|
|
|
|
|
|
def extract():
|
|
code = subprocess.call(
|
|
f"{babel_prefix} extract {' '.join(source_paths)} -o {pot_file_path} --keywords=translate -c translators: --copyright-holder=TTMediaBot-team --project=TTMediaBot",
|
|
shell=True,
|
|
)
|
|
if code:
|
|
sys.exit("Bable is not installed. please install all the requirements")
|
|
|
|
|
|
def update():
|
|
code = subprocess.call(
|
|
f"{babel_prefix} update -i {pot_file_path} -d {locale_path} -D {locale_domain} --update-header-comment --previous",
|
|
shell=True,
|
|
)
|
|
if code:
|
|
sys.exit(code)
|
|
|
|
|
|
def compile():
|
|
code = subprocess.call(
|
|
f"{babel_prefix} compile -d {locale_path} -D {locale_domain}", shell=True
|
|
)
|
|
if code:
|
|
sys.exit(code)
|
|
|
|
|
|
def main():
|
|
extract()
|
|
update()
|
|
compile()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|