##// END OF EJS Templates
fixed issue with new files and removed files with using inline comments
fixed issue with new files and removed files with using inline comments

File last commit:

r1643:bdb6fbc8 default
r1687:e21ec97a beta
Show More
base.py
90 lines | 3.4 KiB | text/x-python | PythonLexer
renamed project to rhodecode
r547 """The base Controller API
Provides the BaseController class for subclassing.
"""
Fixes issue #201...
r1373 import logging
Added Request time tracking
r1601 import time
Fixes issue #201...
r1373 from pylons import config, tmpl_context as c, request, session, url
renamed project to rhodecode
r547 from pylons.controllers import WSGIController
Fixes issue #201...
r1373 from pylons.controllers.util import redirect
renamed project to rhodecode
r547 from pylons.templating import render_mako as render
gui-improvments
r1304
renamed project to rhodecode
r547 from rhodecode import __version__
implements #293 gravatar link should be disabled when use_gravatar = false
r1629 from rhodecode.lib import str2bool
Liad Shani
Improved container-based auth implementation and added support for a reverse-proxy setup (using the X-Forwarded-User header)
r1617 from rhodecode.lib.auth import AuthUser, get_container_username
renamed project to rhodecode
r547 from rhodecode.lib.utils import get_repo_slug
from rhodecode.model import meta
Refactor codes for scm model...
r691 from rhodecode.model.scm import ScmModel
Disable git support due to large problems with dulwich....
r710 from rhodecode import BACKENDS
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 from rhodecode.model.db import Repository
Moved out reposcan into hg Model....
r665
Fixes issue #201...
r1373 log = logging.getLogger(__name__)
pep8ify
r1307
renamed project to rhodecode
r547 class BaseController(WSGIController):
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 def __before__(self):
renamed hg_app to rhodecode
r548 c.rhodecode_version = __version__
implemented #89 google analytics code
r890 c.rhodecode_name = config.get('rhodecode_title')
implements #293 gravatar link should be disabled when use_gravatar = false
r1629 c.use_gravatar = str2bool(config.get('use_gravatar'))
fixes for #89 ga code
r891 c.ga_code = config.get('rhodecode_ga_code')
renamed project to rhodecode
r547 c.repo_name = get_repo_slug(request)
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659 c.backends = BACKENDS.keys()
implemented #89 google analytics code
r890 self.cut_off_limit = int(config.get('cut_off_limit'))
Major refactoring, removed when possible calls to app globals....
r1036
Implemented fancier top menu for logged and anonymous users...
r784 self.sa = meta.Session()
another major codes rewrite:...
r1045 self.scm_model = ScmModel(self.sa)
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366
renamed project to rhodecode
r547 def __call__(self, environ, start_response):
"""Invoke the Controller"""
# WSGIController.__call__ dispatches to the Controller method
# the request is routed to. This routing information is
# available in environ['pylons.routes_dict']
Added Request time tracking
r1601 start = time.time()
renamed project to rhodecode
r547 try:
Some code cleanups and fixes
r1628 # make sure that we update permissions each time we call controller
Major rewrite of auth objects. Moved parts of filling user data into user model....
r1117 api_key = request.GET.get('api_key')
user_id = getattr(session.get('rhodecode_user'), 'user_id', None)
Liad Shani
Improved container-based auth support for middleware
r1630 username = get_container_username(environ, config)
Some code cleanups and fixes
r1628 auth_user = AuthUser(user_id, api_key, username)
self.rhodecode_user = c.rhodecode_user = auth_user
Liad Shani
Added automatic logout of deactivated/deleted users
r1618 if not self.rhodecode_user.is_authenticated and \
self.rhodecode_user.user_id is not None:
Liad Shani
Added container-based authentication support
r1613 self.rhodecode_user.set_authenticated(
Major rewrite of auth objects. Moved parts of filling user data into user model....
r1117 getattr(session.get('rhodecode_user'),
'is_authenticated', False))
session['rhodecode_user'] = self.rhodecode_user
session.save()
renamed project to rhodecode
r547 return WSGIController.__call__(self, environ, start_response)
finally:
Added Request time tracking
r1601 log.debug('Request time: %.3fs' % (time.time()-start))
renamed project to rhodecode
r547 meta.Session.remove()
another major codes rewrite:...
r1045
class BaseRepoController(BaseController):
"""
Some code cleanups and fixes
r1628 Base class for controllers responsible for loading all needed data for
repository loaded items are
source code cleanup: remove trailing white space, normalize file endings
r1203
Some code cleanups and fixes
r1628 c.rhodecode_repo: instance of scm repository
c.rhodecode_db_repo: instance of db
c.repository_followers: number of followers
c.repository_forks: number of forks
another major codes rewrite:...
r1045 """
def __before__(self):
super(BaseRepoController, self).__before__()
if c.repo_name:
Refactoring of model get functions
r1530 c.rhodecode_db_repo = Repository.get_by_repo_name(c.repo_name)
Fixes issue #201...
r1373 c.rhodecode_repo = c.rhodecode_db_repo.scm_instance
if c.rhodecode_repo is None:
log.error('%s this repository is present in database but it '
'cannot be created as an scm instance', c.repo_name)
fixed condition evaluated for gitrepo that returned null, simplified scm functions
r1282
Fixes issue #201...
r1373 redirect(url('home'))
gui-improvments
r1304
Some code cleanups and fixes
r1628 c.repository_followers = self.scm_model.get_followers(c.repo_name)
Fixes issue #201...
r1373 c.repository_forks = self.scm_model.get_forks(c.repo_name)