Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb/hgweb_mod.py @ 3272:10277edf7e5b
hgweb: fix NWI parsing when hgwebdir isn't at /
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Thu, 05 Oct 2006 14:45:15 -0700 |
parents | a7370503d800 |
children | e0cd1b98bf8d |
comparison
equal
deleted
inserted
replaced
3271:36fa5db79dd5 | 3272:10277edf7e5b |
---|---|
651 | 651 |
652 def spliturl(req): | 652 def spliturl(req): |
653 def firstitem(query): | 653 def firstitem(query): |
654 return query.split('&', 1)[0].split(';', 1)[0] | 654 return query.split('&', 1)[0].split(';', 1)[0] |
655 | 655 |
656 base = '' | 656 root = req.env.get('SCRIPT_NAME', '') |
657 if req.env.has_key('REPO_NAME'): | 657 if req.env.has_key('REPO_NAME'): |
658 base = '/' + req.env['REPO_NAME'] | 658 base = '/' + req.env['REPO_NAME'] |
659 elif req.env.get('SCRIPT_NAME'): | 659 else: |
660 base = req.env['SCRIPT_NAME'] | 660 base = root |
661 | 661 |
662 pi = req.env.get('PATH_INFO') | 662 pi = req.env.get('PATH_INFO') |
663 if pi: | 663 if pi: |
664 while pi.startswith('//'): | 664 while pi.startswith('//'): |
665 pi = pi[1:] | 665 pi = pi[1:] |
679 query = pi[1:] | 679 query = pi[1:] |
680 else: | 680 else: |
681 base += '?' | 681 base += '?' |
682 query = firstitem(req.env['QUERY_STRING']) | 682 query = firstitem(req.env['QUERY_STRING']) |
683 | 683 |
684 return (base, query) | 684 return (root + base, query) |
685 | 685 |
686 req.url, query = spliturl(req) | 686 req.url, query = spliturl(req) |
687 | 687 |
688 if req.form.has_key('cmd'): | 688 if req.form.has_key('cmd'): |
689 # old style | 689 # old style |