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) |