Mercurial > public > src > rhodecode
comparison pylons_app/lib/middleware/simplehg.py @ 218:58b46f9194c3 v0.7.4
version bump. Made changesets work as should, but vcs had to be fixed for that.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 25 May 2010 00:32:18 +0200 |
parents | a8ea3ce3cdc4 |
children | a0116e944da1 |
comparison
equal
deleted
inserted
replaced
217:3a1b921ce51c | 218:58b46f9194c3 |
---|---|
62 self.repo_path = os.path.join(self.basepath, repo_name) | 62 self.repo_path = os.path.join(self.basepath, repo_name) |
63 try: | 63 try: |
64 app = wsgiapplication(self.__make_app) | 64 app = wsgiapplication(self.__make_app) |
65 except Exception as e: | 65 except Exception as e: |
66 return HTTPNotFound()(environ, start_response) | 66 return HTTPNotFound()(environ, start_response) |
67 | |
68 action = self.__get_action(environ) | 67 action = self.__get_action(environ) |
69 #invalidate cache on push | 68 #invalidate cache on push |
70 if action == 'push': | 69 if action == 'push': |
71 self.__invalidate_cache(repo_name) | 70 self.__invalidate_cache(repo_name) |
72 | 71 |
73 if action: | 72 if action: |
74 username = self.__get_environ_user(environ) | 73 username = self.__get_environ_user(environ) |
75 self.__log_user_action(username, action, repo_name) | 74 self.__log_user_action(username, action, repo_name) |
75 | |
76 return app(environ, start_response) | 76 return app(environ, start_response) |
77 | 77 |
78 def __make_app(self): | 78 def __make_app(self): |
79 hgserve = hgweb(self.repo_path) | 79 hgserve = hgweb(self.repo_path) |
80 return self.load_web_settings(hgserve) | 80 return self.__load_web_settings(hgserve) |
81 | 81 |
82 def __get_environ_user(self, environ): | 82 def __get_environ_user(self, environ): |
83 return environ.get('REMOTE_USER') | 83 return environ.get('REMOTE_USER') |
84 | 84 |
85 def __get_action(self, environ): | 85 def __get_action(self, environ): |
123 push requests""" | 123 push requests""" |
124 invalidate_cache('cached_repo_list') | 124 invalidate_cache('cached_repo_list') |
125 invalidate_cache('full_changelog', repo_name) | 125 invalidate_cache('full_changelog', repo_name) |
126 | 126 |
127 | 127 |
128 def load_web_settings(self, hgserve): | 128 def __load_web_settings(self, hgserve): |
129 repoui = make_ui(os.path.join(self.repo_path, '.hg', 'hgrc'), False) | 129 repoui = make_ui(os.path.join(self.repo_path, '.hg', 'hgrc'), False) |
130 #set the global ui for hgserve | 130 #set the global ui for hgserve |
131 hgserve.repo.ui = self.baseui | 131 hgserve.repo.ui = self.baseui |
132 | 132 |
133 if repoui: | 133 if repoui: |
134 #set the repository based config | 134 #set the repository based config |
135 hgserve.repo.ui = repoui | 135 hgserve.repo.ui = repoui |
136 | 136 |
137 return hgserve | 137 return hgserve |
138 | |
139 |