--- a/mercurial/hgweb/server.py Mon Mar 19 09:36:06 2007 -0700
+++ b/mercurial/hgweb/server.py Mon Mar 19 19:16:35 2007 -0300
@@ -206,12 +206,17 @@
BaseHTTPServer.HTTPServer.__init__(self, *args, **kargs)
self.accesslog = accesslog
self.errorlog = errorlog
- self.repo = repo
- self.webdir_conf = webdir_conf
- self.webdirmaker = hgwebdir
- self.repoviewmaker = hgweb
- self.reqmaker = wsgiapplication(self.make_handler)
self.daemon_threads = True
+ def make_handler():
+ if webdir_conf:
+ hgwebobj = hgwebdir(webdir_conf, ui)
+ elif repo is not None:
+ hgwebobj = hgweb(hg.repository(repo.ui, repo.root))
+ else:
+ raise hg.RepoError(_("There is no Mercurial repository here"
+ " (.hg not found)"))
+ return hgwebobj
+ self.reqmaker = wsgiapplication(make_handler)
addr, port = self.socket.getsockname()[:2]
if addr in ('0.0.0.0', '::'):
@@ -223,17 +228,6 @@
pass
self.addr, self.port = addr, port
- def make_handler(self):
- if self.webdir_conf:
- hgwebobj = self.webdirmaker(self.webdir_conf, ui)
- elif self.repo is not None:
- hgwebobj = self.repoviewmaker(hg.repository(repo.ui,
- repo.root))
- else:
- raise hg.RepoError(_("There is no Mercurial repository here"
- " (.hg not found)"))
- return hgwebobj
-
class IPv6HTTPServer(MercurialHTTPServer):
address_family = getattr(socket, 'AF_INET6', None)