diff --git a/src/reuse/__init__.py b/src/reuse/__init__.py index 6b64a7653..afad7af9d 100644 --- a/src/reuse/__init__.py +++ b/src/reuse/__init__.py @@ -14,6 +14,8 @@ from boolean.boolean import Expression from pkg_resources import DistributionNotFound, get_distribution +import reuse.compat + try: __version__ = get_distribution(__name__).version except DistributionNotFound: diff --git a/src/reuse/compat.py b/src/reuse/compat.py new file mode 100644 index 000000000..9f5bbccaa --- /dev/null +++ b/src/reuse/compat.py @@ -0,0 +1,20 @@ +# SPDX-FileCopyrightText: 2023 Matthias Riße +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""This module adds compatibility code like backports.""" +import sys + +# Introduce an implementation of pathlib.Path's is_relative_to in python +# versions before 3.9 +if sys.version_info < (3, 9): + from pathlib import Path + + def _is_relative_to(self, path): + try: + self.relative_to(path) + return True + except ValueError: + return False + + Path.is_relative_to = _is_relative_to