Mercurial > public > src > rhodecode
comparison pylons_app/lib/utils.py @ 374:664a5b8c551a
Added application settings, are now customizable from database
fixed all instances of sqlachemy to be removed() after execution.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 14 Jul 2010 18:31:06 +0200 |
parents | e8fc875467bd |
children | d09381593b12 |
comparison
equal
deleted
inserted
replaced
373:031152a540c5 | 374:664a5b8c551a |
---|---|
27 import os | 27 import os |
28 import logging | 28 import logging |
29 from mercurial import ui, config, hg | 29 from mercurial import ui, config, hg |
30 from mercurial.error import RepoError | 30 from mercurial.error import RepoError |
31 from pylons_app.model.db import Repository, User, HgAppUi, HgAppSettings | 31 from pylons_app.model.db import Repository, User, HgAppUi, HgAppSettings |
32 from pylons_app.model.meta import Session | 32 from pylons_app.model import meta |
33 log = logging.getLogger(__name__) | 33 log = logging.getLogger(__name__) |
34 | 34 |
35 | 35 |
36 def get_repo_slug(request): | 36 def get_repo_slug(request): |
37 return request.environ['pylons.routes_dict'].get('repo_name') | 37 return request.environ['pylons.routes_dict'].get('repo_name') |
78 return True | 78 return True |
79 | 79 |
80 | 80 |
81 @cache_region('super_short_term', 'cached_hg_ui') | 81 @cache_region('super_short_term', 'cached_hg_ui') |
82 def get_hg_ui_cached(): | 82 def get_hg_ui_cached(): |
83 sa = Session() | 83 try: |
84 return sa.query(HgAppUi).all() | 84 sa = meta.Session |
85 ret = sa.query(HgAppUi).all() | |
86 finally: | |
87 meta.Session.remove() | |
88 return ret | |
89 | |
85 | 90 |
86 def get_hg_settings(): | 91 def get_hg_settings(): |
87 sa = Session() | 92 try: |
88 ret = sa.query(HgAppSettings).scalar() | 93 sa = meta.Session |
94 ret = sa.query(HgAppSettings).scalar() | |
95 finally: | |
96 meta.Session.remove() | |
97 | |
89 if not ret: | 98 if not ret: |
90 raise Exception('Could not get application settings !') | 99 raise Exception('Could not get application settings !') |
91 return ret | 100 return ret |
92 | 101 |
93 def make_ui(read_from='file', path=None, checkpaths=True): | 102 def make_ui(read_from='file', path=None, checkpaths=True): |
181 """ | 190 """ |
182 maps all found repositories into db | 191 maps all found repositories into db |
183 """ | 192 """ |
184 from pylons_app.model.repo_model import RepoModel | 193 from pylons_app.model.repo_model import RepoModel |
185 | 194 |
186 sa = Session() | 195 sa = meta.Session |
187 user = sa.query(User).filter(User.admin == True).first() | 196 user = sa.query(User).filter(User.admin == True).first() |
188 | 197 |
189 rm = RepoModel() | 198 rm = RepoModel() |
190 | 199 |
191 for name, repo in initial_repo_list.items(): | 200 for name, repo in initial_repo_list.items(): |
206 for repo in sa.query(Repository).all(): | 215 for repo in sa.query(Repository).all(): |
207 if repo.repo_name not in initial_repo_list.keys(): | 216 if repo.repo_name not in initial_repo_list.keys(): |
208 sa.delete(repo) | 217 sa.delete(repo) |
209 sa.commit() | 218 sa.commit() |
210 | 219 |
220 | |
221 meta.Session.remove() |