diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-06-14 10:40:57 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-06-14 10:40:57 +0200 |
commit | 50a0341baa5fc9a8e999f77e232cb21eae54ba0a (patch) | |
tree | e0053cd18f028ef71b9126b634f9862e02994a42 | |
parent | 117bf196e195c758ca53fda3f9ab974767bfa90c (diff) | |
download | hydrilla-builder-50a0341baa5fc9a8e999f77e232cb21eae54ba0a.tar.gz hydrilla-builder-50a0341baa5fc9a8e999f77e232cb21eae54ba0a.zip |
restore compatibility with python 3.7
-rw-r--r-- | src/hydrilla/builder/build.py | 6 | ||||
-rw-r--r-- | src/hydrilla/builder/piggybacking.py | 4 | ||||
-rw-r--r-- | tests/test_build.py | 4 |
3 files changed, 9 insertions, 5 deletions
diff --git a/src/hydrilla/builder/build.py b/src/hydrilla/builder/build.py index 44f3dd9..89c1f5a 100644 --- a/src/hydrilla/builder/build.py +++ b/src/hydrilla/builder/build.py @@ -200,11 +200,13 @@ class Build: path = piggybacked.resolve_file(desired_path) if path is None: path = (self.srcdir / desired_path).resolve() - if not path.is_relative_to(self.srcdir): + try: + rel_path = path.relative_to(self.srcdir) + except ValueError: raise FileReferenceError(_('loading_{}_outside_package_dir') .format(filename)) - if str(path.relative_to(self.srcdir)) == 'index.json': + if str(rel_path) == 'index.json': raise FileReferenceError(_('loading_reserved_index_json')) else: include_in_source_archive = False diff --git a/src/hydrilla/builder/piggybacking.py b/src/hydrilla/builder/piggybacking.py index 7c03946..00186bc 100644 --- a/src/hydrilla/builder/piggybacking.py +++ b/src/hydrilla/builder/piggybacking.py @@ -98,7 +98,9 @@ class Piggybacked: path = path.resolve() - if not path.is_relative_to(root_path): + try: + path.relative_to(root_path) + except ValueError: raise FileReferenceError(_('loading_{}_outside_piggybacked_dir') .format(file_ref_name)) diff --git a/tests/test_build.py b/tests/test_build.py index a636488..8c204b9 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -281,7 +281,7 @@ def sample_source_change_index_json(monkeypatch, sample_source): @collect(variant_makers) def sample_source_add_comments(monkeypatch, sample_source): """Add index.json comments that should be preserved.""" - for dictionary in index_obj, *index_obj['definitions'], *expected: + for dictionary in (index_obj, *index_obj['definitions'], *expected): monkeypatch.setitem(dictionary, 'comment', 'index.json comment') @collect(variant_makers) @@ -356,7 +356,7 @@ def sample_source_add_extra_props(monkeypatch, sample_source): def sample_source_make_version_2(monkeypatch, sample_source, expected_documents_to_modify=[]): """Increase sources' schema version from 1 to 2.""" - for obj in index_obj, *expected_documents_to_modify: + for obj in (index_obj, *expected_documents_to_modify): monkeypatch.setitem(obj, '$schema', obj['$schema'].replace('1', '2')) permission_variant_makers = [] |