Mercurial > kallithea
comparison rhodecode/lib/base.py @ 1340:cbdd583f1e58 beta
reverted copy of cached instance:
CPython
changelog
total_time 39.7253162861
average on req 0.993132907152
changesets
total_time 42.5156304836
average on req 0.425156304836
Total: 546 MB
changelog
total_time 35.5851216316
average on req 0.889628040791
changesets
total_time 30.3608012199
average on req 0.303608012199
Total: 475 MB
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 15 May 2011 18:29:33 +0200 |
parents | c1516b35f91d |
children | e0f670b987eb |
comparison
equal
deleted
inserted
replaced
1339:e861eb1c4a2f | 1340:cbdd583f1e58 |
---|---|
1 """The base Controller API | 1 """The base Controller API |
2 | 2 |
3 Provides the BaseController class for subclassing. | 3 Provides the BaseController class for subclassing. |
4 """ | 4 """ |
5 import copy | |
6 | |
7 from pylons import config, tmpl_context as c, request, session | 5 from pylons import config, tmpl_context as c, request, session |
8 from pylons.controllers import WSGIController | 6 from pylons.controllers import WSGIController |
9 from pylons.templating import render_mako as render | 7 from pylons.templating import render_mako as render |
10 | 8 |
11 from rhodecode import __version__ | 9 from rhodecode import __version__ |
62 | 60 |
63 def __before__(self): | 61 def __before__(self): |
64 super(BaseRepoController, self).__before__() | 62 super(BaseRepoController, self).__before__() |
65 if c.repo_name: | 63 if c.repo_name: |
66 | 64 |
67 r, dbrepo = self.scm_model.get(c.repo_name, retval='repo') | 65 c.rhodecode_repo, dbrepo = self.scm_model.get(c.repo_name, retval='repo') |
68 | 66 |
69 if r is not None: | 67 if c.rhodecode_repo is not None: |
70 c.repository_followers = \ | 68 c.repository_followers = \ |
71 self.scm_model.get_followers(c.repo_name) | 69 self.scm_model.get_followers(c.repo_name) |
72 c.repository_forks = self.scm_model.get_forks(c.repo_name) | 70 c.repository_forks = self.scm_model.get_forks(c.repo_name) |
73 else: | 71 else: |
74 c.repository_followers = 0 | 72 c.repository_followers = 0 |
75 c.repository_forks = 0 | 73 c.repository_forks = 0 |
76 | 74 |
77 # Since RhodeCode uses heavy memory caching we make a deepcopy | |
78 # of object taken from cache. This way we lose reference to cached | |
79 # instance in memory and keep it relatively small even for | |
80 # very large number of changesets | |
81 c.rhodecode_repo = copy.copy(r) |