Files
@ 70b1e5d1e20d
Branch filter:
Location: kallithea/pylons_app/lib/simplehg.py - annotation
70b1e5d1e20d
1.2 KiB
text/x-python
simplehg, cleanup
70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d 70b1e5d1e20d | import os
import cgi
from mercurial import util
from mercurial.hgweb.request import wsgirequest, normalize
from mercurial.hgweb import hgweb
from pylons.controllers.util import Response
from mercurial.hgweb.request import wsgiapplication
class SimpleHg(object):
def __init__(self, application, config):
self.application = application
self.config = config
def __call__(self, environ, start_response):
if not is_mercurial(environ):
return self.application(environ, start_response)
else:
from pprint import pprint
pprint(environ)
repo_path = os.path.join('/home/marcink/python_workspace/', environ['PATH_INFO'].replace('/', ''))
def _make_app():return hgweb(repo_path, "Name")
app = wsgiapplication(_make_app)
return app(environ, start_response)
def is_mercurial(environ):
"""
Returns True if request's target is mercurial server - header
``HTTP_ACCEPT`` of such request would start with ``application/mercurial``.
"""
http_accept = environ.get('HTTP_ACCEPT')
if http_accept and http_accept.startswith('application/mercurial'):
return True
return False
|