mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-27 00:49:55 +03:00
29 lines
887 B
Python
29 lines
887 B
Python
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# This file is part of Nominatim. (https://nominatim.org)
|
|
#
|
|
# Copyright (C) 2022 by the Nominatim developer community.
|
|
# For a full list of authors see the git log.
|
|
"""
|
|
Various smaller helps for step execution.
|
|
"""
|
|
import logging
|
|
import subprocess
|
|
|
|
LOG = logging.getLogger(__name__)
|
|
|
|
def run_script(cmd, **kwargs):
|
|
""" Run the given command, check that it is successful and output
|
|
when necessary.
|
|
"""
|
|
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
|
**kwargs)
|
|
(outp, outerr) = proc.communicate()
|
|
outp = outp.decode('utf-8')
|
|
outerr = outerr.decode('utf-8').replace('\\n', '\n')
|
|
LOG.debug("Run command: %s\n%s\n%s", cmd, outp, outerr)
|
|
|
|
assert proc.returncode == 0, "Script '{}' failed:\n{}\n{}\n".format(cmd[0], outp, outerr)
|
|
|
|
return outp, outerr
|