From bbbf5e99399c4c3f5abd85cd203b9863e5aa305c Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 12 May 2014 14:15:31 +0100 Subject: [PATCH] Handle % characters in URLs If there is a % character in the path to a file / directory, we need to properly encode it when creating the repo web URL or the link won't work. Thanks to Khem Raj for reporting this. Signed-off-by: Paul Eggleton --- layerindex/models.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/layerindex/models.py b/layerindex/models.py index 1f23903..17bf8d5 100644 --- a/layerindex/models.py +++ b/layerindex/models.py @@ -143,6 +143,11 @@ class LayerBranch(models.Model): else: branchname = self.branch.name url = base_url.replace('%branch%', branchname) + + # If there's a % in the path (e.g. a wildcard bbappend) we need to encode it + if extra_path: + extra_path = extra_path.replace('%', '%25') + if '%path%' in base_url: if extra_path: url = re.sub(r'\[([^\]]*%path%[^\]]*)\]', '\\1', url)