Source code for univention.l10n.helper

#!/usr/bin/env python3
#
# SPDX-FileCopyrightText: 2013-2025 Univention GmbH
# SPDX-License-Identifier: AGPL-3.0-only

import os
import subprocess
from typing import Any


[docs] class Error(SystemExit): pass
[docs] def make_parent_dir(path: str) -> None: """ Create parent directories for file. :param path: Path for a file. """ dir_path = os.path.dirname(path) try: os.makedirs(dir_path) except OSError: if not os.path.isdir(dir_path): raise
[docs] def call(*argv: str, **kwargs: Any) -> int: """ Execute argv and wait. :param args: List of command and arguments. :param kwargs: Optiona key-word argument for :py:func:`subprocess.check_call`. >>> call('true') 0 """ errmsg = kwargs.pop('errmsg', 'Gettext failed {0.cmd}') verbose = os.environ.get('DH_VERBOSE') if verbose: print('\t%s' % ' '.join(argv)) try: return subprocess.check_call(argv, **kwargs) except subprocess.CalledProcessError as ex: if verbose: print(ex) raise Error(errmsg.format(ex))