Skip to content

Commit d45f411

Browse files
committed
asset filename sanitizing: still allow Greek, accented, ... characters #820
1 parent 9b21bf0 commit d45f411

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

‎openeo/rest/job.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ def _make_filename(self) -> str:
463463
and filename in href (if any)
464464
"""
465465

466-
if re.fullmatch(r"^[a-zA-Z0-9_.-]+\.[a-zA-Z0-9]{1,10}$", self.key):
466+
if re.fullmatch(r"^[\w_.-]+\.[a-zA-Z0-9]{1,10}$", self.key):
467467
# Legacy mode: asset key already looks like a filename
468468
return self.key
469469

‎tests/rest/test_job.py‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,14 +1077,23 @@ def job(self, con100):
10771077
[
10781078
("cube.tiff", "http://data.test/dl/cube.tiff", None, "cube.tiff"),
10791079
("cube.tiff", "http://data.test/dl/output.tiff", None, "cube.tiff"),
1080+
("cube123.tiff", "http://data.test/dl/output.tiff", None, "cube123.tiff"),
1081+
("cube-123.tiff", "http://data.test/dl/output.tiff", None, "cube-123.tiff"),
1082+
("cube.v123.tiff", "http://data.test/dl/output.tiff", None, "cube.v123.tiff"),
1083+
("cube_123.tiff", "http://data.test/dl/output.tiff", None, "cube_123.tiff"),
1084+
("cube.t1ff", "http://data.test/dl/output.tiff", None, "cube.t1ff"),
10801085
("output", "http://data.test/dl/cube.tiff", None, "output-cube.tiff"),
10811086
("output/1", "http://data.test/dl/cube.tiff", None, "output1-cube.tiff"),
10821087
("output#1", "http://data.test/dl/cube.tiff", None, "output1-cube.tiff"),
1088+
("output(1)", "http://data.test/dl/cube.tiff", None, "output1-cube.tiff"),
1089+
("output[1]", "http://data.test/dl/cube.tiff", None, "output1-cube.tiff"),
10831090
("output:1", "http://data.test/dl/cube.tiff", None, "output1-cube.tiff"),
10841091
("output:1", "http://data.test/dl/cube", None, "output1-cube"),
10851092
("output:1", "http://data.test/dl/cube", "image/tiff", "output1-cube.tiff"),
10861093
("output:1", "http://data.test/dl/cube", "image/tiff; application=geotiff", "output1-cube.tiff"),
10871094
("output:1", "http://data.test/dl/cube", "application/x-netcdf", "output1-cube.nc"),
1095+
("ΩuτΠuτ.tiff", "http://data.test/dl/cube.tiff", "image/tiff", "ΩuτΠuτ.tiff"),
1096+
("donnée-discrètes.tiff", "http://data.test/dl/cube.tiff", "image/tiff", "donnée-discrètes.tiff"),
10881097
],
10891098
)
10901099
def test_download_make_filename(self, tmp_path, job, key, href, media_type, expected, requests_mock):

0 commit comments

Comments
 (0)