hgweb: extract app factory
authorYuya Nishihara <yuya@tcha.org>
Sat, 15 Oct 2016 14:06:46 +0900
changeset 30508 9195bc4cb816
parent 30507 dd539e2d89aa
child 30509 add7bcad1d9c
hgweb: extract app factory I'll move createservice() to the server module, but createapp() seems good to remain in the hgweb module because of its dependency on hgweb/hgwebdir_mod.
mercurial/hgweb/__init__.py
--- a/mercurial/hgweb/__init__.py	Sat Oct 15 13:57:17 2016 +0900
+++ b/mercurial/hgweb/__init__.py	Sat Oct 15 14:06:46 2016 +0900
@@ -115,11 +115,14 @@
         for u in alluis:
             u.setconfig("web", o, val, 'serve')
 
+    app = createapp(baseui, repo, webconf)
+    return httpservice(servui, app, opts)
+
+def createapp(baseui, repo, webconf):
     if webconf:
-        app = hgwebdir_mod.hgwebdir(webconf, baseui=baseui)
+        return hgwebdir_mod.hgwebdir(webconf, baseui=baseui)
     else:
         if not repo:
             raise error.RepoError(_("there is no Mercurial repository"
                                     " here (.hg not found)"))
-        app = hgweb_mod.hgweb(repo, baseui=baseui)
-    return httpservice(servui, app, opts)
+        return hgweb_mod.hgweb(repo, baseui=baseui)