aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/builder
diff options
context:
space:
mode:
Diffstat (limited to 'src/hydrilla/builder')
-rw-r--r--src/hydrilla/builder/build.py6
-rw-r--r--src/hydrilla/builder/piggybacking.py4
2 files changed, 7 insertions, 3 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))