48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
"""Translation utils."""
|
|
import argparse
|
|
import os
|
|
import pathlib
|
|
import subprocess
|
|
|
|
from .error import ExitApp
|
|
|
|
|
|
def get_base_arg_parser() -> argparse.ArgumentParser:
|
|
"""Get a base argument parser."""
|
|
parser = argparse.ArgumentParser(description="Home Assistant Translations")
|
|
parser.add_argument(
|
|
"action",
|
|
type=str,
|
|
choices=["clean", "develop", "download", "frontend", "migrate", "upload"],
|
|
)
|
|
parser.add_argument("--debug", action="store_true", help="Enable log output")
|
|
return parser
|
|
|
|
|
|
def get_lokalise_token():
|
|
"""Get lokalise token."""
|
|
token = os.environ.get("LOKALISE_TOKEN")
|
|
|
|
if token is not None:
|
|
return token
|
|
|
|
token_file = pathlib.Path(".lokalise_token")
|
|
|
|
if not token_file.is_file():
|
|
raise ExitApp(
|
|
"Lokalise token not found in env LOKALISE_TOKEN or file .lokalise_token"
|
|
)
|
|
|
|
return token_file.read_text().strip()
|
|
|
|
|
|
def get_current_branch():
|
|
"""Get current branch."""
|
|
return (
|
|
subprocess.run(
|
|
["git", "rev-parse", "--abbrev-ref", "HEAD"], stdout=subprocess.PIPE
|
|
)
|
|
.stdout.decode()
|
|
.strip()
|
|
)
|