Source code for fm_weck.file_util
# This file is part of fm-weck: executing fm-tools in containerized environments.
# https://gitlab.com/sosy-lab/software/fm-weck
#
# SPDX-FileCopyrightText: 2024 Dirk Beyer <https://www.sosy-lab.org>
#
# SPDX-License-Identifier: Apache-2.0
from pathlib import Path
# replacement strings
WINDOWS_LINE_ENDING = b"\r\n"
UNIX_LINE_ENDING = b"\n"
[docs]
def copy_ensuring_unix_line_endings(src: Path, dst: Path) -> None:
with open(src, "rb") as src_file:
content = src_file.read()
# Windows ➡ Unix
content = content.replace(WINDOWS_LINE_ENDING, UNIX_LINE_ENDING)
with open(dst, "wb") as dst_file:
dst_file.write(content)
[docs]
def ensure_linux_style(path: str) -> str:
"""Ensure that the given path uses Linux-style forward slashes."""
return path.replace("\\", "/")