mercurial/hgweb.py
changeset 2127 8a85dbbadddf
parent 2124 27fd8b7a6c51
child 2148 c72e618c1204
equal deleted inserted replaced
2126:2e77f7852e82 2127:8a85dbbadddf
   887                       or self.t("error", error="%r not found" % fname))
   887                       or self.t("error", error="%r not found" % fname))
   888 
   888 
   889         else:
   889         else:
   890             req.write(self.t("error"))
   890             req.write(self.t("error"))
   891 
   891 
   892 def create_server(repo):
   892 def create_server(ui, repo):
   893     use_threads = True
   893     use_threads = True
   894 
   894 
   895     def openlog(opt, default):
   895     def openlog(opt, default):
   896         if opt and opt != '-':
   896         if opt and opt != '-':
   897             return open(opt, 'w')
   897             return open(opt, 'w')
   898         return default
   898         return default
   899 
   899 
   900     address = repo.ui.config("web", "address", "")
   900     address = ui.config("web", "address", "")
   901     port = int(repo.ui.config("web", "port", 8000))
   901     port = int(ui.config("web", "port", 8000))
   902     use_ipv6 = repo.ui.configbool("web", "ipv6")
   902     use_ipv6 = ui.configbool("web", "ipv6")
   903     webdir_conf = repo.ui.config("web", "webdir_conf")
   903     webdir_conf = ui.config("web", "webdir_conf")
   904     accesslog = openlog(repo.ui.config("web", "accesslog", "-"), sys.stdout)
   904     accesslog = openlog(ui.config("web", "accesslog", "-"), sys.stdout)
   905     errorlog = openlog(repo.ui.config("web", "errorlog", "-"), sys.stderr)
   905     errorlog = openlog(ui.config("web", "errorlog", "-"), sys.stderr)
   906 
   906 
   907     if use_threads:
   907     if use_threads:
   908         try:
   908         try:
   909             from threading import activeCount
   909             from threading import activeCount
   910         except ImportError:
   910         except ImportError:
   986             req = hgrequest(self.rfile, self.wfile, env)
   986             req = hgrequest(self.rfile, self.wfile, env)
   987             self.send_response(200, "Script output follows")
   987             self.send_response(200, "Script output follows")
   988 
   988 
   989             if webdir_conf:
   989             if webdir_conf:
   990                 hgwebobj = hgwebdir(webdir_conf)
   990                 hgwebobj = hgwebdir(webdir_conf)
       
   991             elif repo is not None:
       
   992                 hgwebobj = hgweb(repo.__class__(repo.ui, repo.origroot))
   991             else:
   993             else:
   992                 hgwebobj = hgweb(repo.__class__(repo.ui, repo.origroot))
   994                 raise hg.RepoError(_('no repo found'))
   993             hgwebobj.run(req)
   995             hgwebobj.run(req)
   994 
   996 
   995 
   997 
   996     if use_ipv6:
   998     if use_ipv6:
   997         return IPv6HTTPServer((address, port), hgwebhandler)
   999         return IPv6HTTPServer((address, port), hgwebhandler)