# HG changeset patch # User Gregory Szorc # Date 2018-03-11 22:15:02 # Node ID e473a032f38a69c45b4676c07aaa3c4f55a3bdef # Parent 006165d4d7e28826aaabfa38f510652443ee2e04 hgweb: rewrite path generation for index entries I think this code is easier to read. But the real reason to do this is to eliminate a consumer of wsgirequest. Differential Revision: https://phab.mercurial-scm.org/D2824 diff --git a/mercurial/hgweb/hgwebdir_mod.py b/mercurial/hgweb/hgwebdir_mod.py --- a/mercurial/hgweb/hgwebdir_mod.py +++ b/mercurial/hgweb/hgwebdir_mod.py @@ -9,7 +9,6 @@ from __future__ import absolute_import import os -import re import time from ..i18n import _ @@ -161,11 +160,12 @@ def rawindexentries(ui, repos, wsgireq, except (IOError, error.RepoError): pass - parts = [name] - parts.insert(0, '/' + subdir.rstrip('/')) - if wsgireq.env['SCRIPT_NAME']: - parts.insert(0, wsgireq.env['SCRIPT_NAME']) - url = re.sub(r'/+', '/', '/'.join(parts) + '/') + parts = [ + wsgireq.req.apppath.strip('/'), + subdir.strip('/'), + name.strip('/'), + ] + url = '/' + '/'.join(p for p in parts if p) + '/' # show either a directory entry or a repository if directory: