Mercurial > public > mercurial-scm > hg
view mercurial/scmposix.py @ 26211:ea489d94e1dc
hgweb: assign ctype to requestcontext
The very existence of ctype is a bit hacky. But we roll with it.
Before this patch, there was possibly a race condition between 2
threads handling file requests: 1 thread could set the ctype and
another serving a different file would read and use that potentially
wrong ctype.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 22 Aug 2015 17:08:37 -0700 |
parents | 23c995ed466b |
children | 39087ee88835 |
line wrap: on
line source
import sys, os import osutil def _rcfiles(path): rcs = [os.path.join(path, 'hgrc')] rcdir = os.path.join(path, 'hgrc.d') try: rcs.extend([os.path.join(rcdir, f) for f, kind in osutil.listdir(rcdir) if f.endswith(".rc")]) except OSError: pass return rcs def systemrcpath(): path = [] if sys.platform == 'plan9': root = 'lib/mercurial' else: root = 'etc/mercurial' # old mod_python does not set sys.argv if len(getattr(sys, 'argv', [])) > 0: p = os.path.dirname(os.path.dirname(sys.argv[0])) if p != '/': path.extend(_rcfiles(os.path.join(p, root))) path.extend(_rcfiles('/' + root)) return path def userrcpath(): if sys.platform == 'plan9': return [os.environ['home'] + '/lib/hgrc'] else: return [os.path.expanduser('~/.hgrc')]