comparison rhodecode/lib/base.py @ 1628:de71a4bde097 beta

Some code cleanups and fixes
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 31 Oct 2011 21:42:41 +0200
parents d58e514c0a39
children 2196aa27954b
comparison
equal deleted inserted replaced
1627:c622e3a85499 1628:de71a4bde097
31 self.cut_off_limit = int(config.get('cut_off_limit')) 31 self.cut_off_limit = int(config.get('cut_off_limit'))
32 32
33 self.sa = meta.Session() 33 self.sa = meta.Session()
34 self.scm_model = ScmModel(self.sa) 34 self.scm_model = ScmModel(self.sa)
35 35
36 #c.unread_journal = scm_model.get_unread_journal()
37
38 def __call__(self, environ, start_response): 36 def __call__(self, environ, start_response):
39 """Invoke the Controller""" 37 """Invoke the Controller"""
40 # WSGIController.__call__ dispatches to the Controller method 38 # WSGIController.__call__ dispatches to the Controller method
41 # the request is routed to. This routing information is 39 # the request is routed to. This routing information is
42 # available in environ['pylons.routes_dict'] 40 # available in environ['pylons.routes_dict']
43 start = time.time() 41 start = time.time()
44 try: 42 try:
45 # putting this here makes sure that we update permissions each time 43 # make sure that we update permissions each time we call controller
46 api_key = request.GET.get('api_key') 44 api_key = request.GET.get('api_key')
47 user_id = getattr(session.get('rhodecode_user'), 'user_id', None) 45 user_id = getattr(session.get('rhodecode_user'), 'user_id', None)
48 if asbool(config.get('container_auth_enabled', False)): 46 if asbool(config.get('container_auth_enabled', False)):
49 username = get_container_username(environ) 47 username = get_container_username(environ)
50 else: 48 else:
51 username = None 49 username = None
52 50 auth_user = AuthUser(user_id, api_key, username)
53 self.rhodecode_user = c.rhodecode_user = AuthUser(user_id, api_key, username) 51 self.rhodecode_user = c.rhodecode_user = auth_user
54 if not self.rhodecode_user.is_authenticated and \ 52 if not self.rhodecode_user.is_authenticated and \
55 self.rhodecode_user.user_id is not None: 53 self.rhodecode_user.user_id is not None:
56 self.rhodecode_user.set_authenticated( 54 self.rhodecode_user.set_authenticated(
57 getattr(session.get('rhodecode_user'), 55 getattr(session.get('rhodecode_user'),
58 'is_authenticated', False)) 56 'is_authenticated', False))
64 meta.Session.remove() 62 meta.Session.remove()
65 63
66 64
67 class BaseRepoController(BaseController): 65 class BaseRepoController(BaseController):
68 """ 66 """
69 Base class for controllers responsible for loading all needed data 67 Base class for controllers responsible for loading all needed data for
70 for those controllers, loaded items are 68 repository loaded items are
71 69
72 c.rhodecode_repo: instance of scm repository (taken from cache) 70 c.rhodecode_repo: instance of scm repository
73 71 c.rhodecode_db_repo: instance of db
72 c.repository_followers: number of followers
73 c.repository_forks: number of forks
74 """ 74 """
75 75
76 def __before__(self): 76 def __before__(self):
77 super(BaseRepoController, self).__before__() 77 super(BaseRepoController, self).__before__()
78 if c.repo_name: 78 if c.repo_name:
84 log.error('%s this repository is present in database but it ' 84 log.error('%s this repository is present in database but it '
85 'cannot be created as an scm instance', c.repo_name) 85 'cannot be created as an scm instance', c.repo_name)
86 86
87 redirect(url('home')) 87 redirect(url('home'))
88 88
89 c.repository_followers = \ 89 c.repository_followers = self.scm_model.get_followers(c.repo_name)
90 self.scm_model.get_followers(c.repo_name)
91 c.repository_forks = self.scm_model.get_forks(c.repo_name) 90 c.repository_forks = self.scm_model.get_forks(c.repo_name)
92 91