diff pylons_app/controllers/hg.py @ 8:3092016c6d0c

Changed to webapp, removed get from routes,
author Marcin Kuzminski
date Thu, 18 Feb 2010 17:36:43 +0100
parents 2620dac853ad
children 525ed90e4577
line wrap: on
line diff
--- a/pylons_app/controllers/hg.py	Thu Feb 18 14:52:59 2010 +0100
+++ b/pylons_app/controllers/hg.py	Thu Feb 18 17:36:43 2010 +0100
@@ -15,38 +15,47 @@
 from mercurial import ui, hg
 from mercurial.error import RepoError
 from ConfigParser import ConfigParser
-#http://bel-epa.com/hg/
-#def make_web_app():
-#    repos = "hgwebdir.config"
-#    hgwebapp = hgwebdir(repos)
-#    return hgwebapp
-#
-#class HgController(BaseController):
-#
-#    def index(self):
-#        hgapp = wsgiapplication(make_web_app)
-#        return hgapp(request.environ, self.start_response)
-#
-#    def view(self, *args, **kwargs):
-#        return u'dupa'
-#        #pprint(request.environ)
-#        hgapp = wsgiapplication(make_web_app)
-#        return hgapp(request.environ, self.start_response)
 
-def _make_app():
-    #for single a repo
-    #return hgweb("/path/to/repo", "Name")
+def make_web_app():
     repos = "hgwebdir.config"
-    return  hgwebdir(repos)
-
-def wsgi_app(environ, start_response):
-    start_response('200 OK', [('Content-type', 'text/html')])
-    return ['<html>\n<body>\nHello World!\n</body>\n</html>']
+    hgwebapp = hgwebdir(repos)
+    return hgwebapp
 
 class HgController(BaseController):
+    #based on
+    #http://bel-epa.com/hg/
+    def index(self):
+        hgapp = wsgiapplication(make_web_app)
+        return hgapp(request.environ, self.start_response)
+
+    def view(self, *args, **kwargs):
+        hgapp = wsgiapplication(make_web_app)
+        return hgapp(request.environ, self.start_response)
+
+    def add_repo(self, new_repo):
+        tmpl = '''
+                  <html>
+                    <body>
+                        %(msg)s%(new_repo)s!<br \>
+                        <a href="/">repos</a>
+                    </body>
+                  </html>
+                '''
+        #extra check it can be add since it's the command
+        if new_repo == 'add':
+            return [tmpl % ({'new_repo':'', 'msg':'you basstard ! this repo is a command'})]
+
+        new_repo = new_repo.replace(" ", "_")
+        new_repo = new_repo.replace("-", "_")
+
+        try:
+            self._create_repo(new_repo)
+        except Exception as e:
+            return [tmpl % ({'new_repo':' Exception when adding: ' + new_repo, 'msg':str(e)})]
+
+        return [tmpl % ({'new_repo':new_repo, 'msg':'added repo: '})]
 
     def _check_repo(self, repo_name):
-
         p = os.path.dirname(__file__)
         config_path = os.path.join(p, '../..', 'hgwebdir.config')
         print config_path
@@ -83,43 +92,25 @@
                     % (self.repo_path, self.repo_path)
             os.popen(cmd)
 
-
-    def add_repo(self, new_repo):
-        tmpl = '''
-                  <html>
-                    <body>
-                        %(msg)s%(new_repo)s!<br \>
-                        <a href="/">repos</a>
-                    </body>
-                  </html>
-                '''
-        #extra check it can be add since it's the command
-        if new_repo == 'add':
-            return [tmpl % ({'new_repo':'', 'msg':'you basstard ! this repo is a command'})]
-
-        new_repo = new_repo.replace(" ", "_")
-        new_repo = new_repo.replace("-", "_")
+#def _make_app():
+#    #for single a repo
+#    #return hgweb("/path/to/repo", "Name")
+#    repos = "hgwebdir.config"
+#    return  hgwebdir(repos)
+#
 
-        try:
-            self._create_repo(new_repo)
-        except Exception as e:
-            return [tmpl % ({'new_repo':' Exception when adding: ' + new_repo, 'msg':str(e)})]
-
-        return [tmpl % ({'new_repo':new_repo, 'msg':'added repo: '})]
-
-    def view(self, environ, start_response):
-        #the following is only needed when using hgwebdir
-        app = _make_app()
-        #return wsgi_app(environ, start_response)
-        response = app(request.environ, self.start_response)
-
-        if environ['PATH_INFO'].find("static") != -1:
-            return response
-        else:
-            #wrap the murcurial response in a mako template.
-            template = Template("".join(response),
-                                lookup = environ['pylons.pylons']\
-                                .config['pylons.g'].mako_lookup)
-
-            return template.render(g = g, c = c, session = session, h = h)
-
+#    def view(self, environ, start_response):
+#        #the following is only needed when using hgwebdir
+#        app = _make_app()
+#        #return wsgi_app(environ, start_response)
+#        response = app(request.environ, self.start_response)
+#
+#        if environ['PATH_INFO'].find("static") != -1:
+#            return response
+#        else:
+#            #wrap the murcurial response in a mako template.
+#            template = Template("".join(response),
+#                                lookup = environ['pylons.pylons']\
+#                                .config['pylons.g'].mako_lookup)
+#
+#            return template.render(g = g, c = c, session = session, h = h)