changeset 1018:da5075ce681c beta

rhodecode config module refactoring
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 10 Feb 2011 22:41:30 +0100
parents ade3414a8b61
children e4b7cfeb2eea
files rhodecode/config/environment.py rhodecode/config/middleware.py rhodecode/config/routing.py
diffstat 3 files changed, 55 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/config/environment.py	Thu Feb 10 21:56:14 2011 +0100
+++ b/rhodecode/config/environment.py	Thu Feb 10 22:41:30 2011 +0100
@@ -6,6 +6,7 @@
 from mako.lookup import TemplateLookup
 from pylons.configuration import PylonsConfig
 from pylons.error import handle_mako_error
+from sqlalchemy import engine_from_config
 
 import rhodecode.lib.app_globals as app_globals
 import rhodecode.lib.helpers
@@ -16,7 +17,7 @@
 from rhodecode.lib.utils import repo2db_mapper, make_ui, set_rhodecode_config
 from rhodecode.model import init_model
 from rhodecode.model.scm import ScmModel
-from sqlalchemy import engine_from_config
+from rhodecode.lib.timerproxy import TimerProxy
 
 log = logging.getLogger(__name__)
 
@@ -65,7 +66,6 @@
     # Setup the SQLAlchemy database engine
     if config['debug'] and not test:
         #use query time debugging.
-        from rhodecode.lib.timerproxy import TimerProxy
         sa_engine_db1 = engine_from_config(config, 'sqlalchemy.db1.',
                                                             proxy=TimerProxy())
     else:
--- a/rhodecode/config/middleware.py	Thu Feb 10 21:56:14 2011 +0100
+++ b/rhodecode/config/middleware.py	Thu Feb 10 22:41:30 2011 +0100
@@ -1,17 +1,20 @@
 """Pylons middleware initialization"""
+
 from beaker.middleware import SessionMiddleware
+from routes.middleware import RoutesMiddleware
 from paste.cascade import Cascade
 from paste.registry import RegistryManager
 from paste.urlparser import StaticURLParser
 from paste.deploy.converters import asbool
+from paste.gzipper import make_gzip_middleware
+
 from pylons.middleware import ErrorHandler, StatusCodeRedirect
 from pylons.wsgiapp import PylonsApp
-from routes.middleware import RoutesMiddleware
+
 from rhodecode.lib.middleware.simplehg import SimpleHg
 from rhodecode.lib.middleware.simplegit import SimpleGit
 from rhodecode.lib.middleware.https_fixup import HttpsFixup
 from rhodecode.config.environment import load_environment
-from paste.gzipper import make_gzip_middleware
 
 def make_app(global_conf, full_stack=True, static_files=True, **app_conf):
     """Create a Pylons WSGI application and return it
--- a/rhodecode/config/routing.py	Thu Feb 10 21:56:14 2011 +0100
+++ b/rhodecode/config/routing.py	Thu Feb 10 22:41:30 2011 +0100
@@ -11,14 +11,15 @@
 
 def make_map(config):
     """Create, configure and return the routes Mapper"""
-    map = Mapper(directory=config['pylons.paths']['controllers'],
+    routes_map = Mapper(directory=config['pylons.paths']['controllers'],
                  always_scan=config['debug'])
-    map.minimization = False
-    map.explicit = False
+    routes_map.minimization = False
+    routes_map.explicit = False
 
     def check_repo(environ, match_dict):
         """
         check for valid repository for proper 404 handling
+        
         :param environ:
         :param match_dict:
         """
@@ -27,19 +28,19 @@
 
     # The ErrorController route (handles 404/500 error pages); it should
     # likely stay at the top, ensuring it can always be resolved
-    map.connect('/error/{action}', controller='error')
-    map.connect('/error/{action}/{id}', controller='error')
+    routes_map.connect('/error/{action}', controller='error')
+    routes_map.connect('/error/{action}/{id}', controller='error')
 
     #==========================================================================
     # CUSTOM ROUTES HERE
     #==========================================================================
 
     #MAIN PAGE
-    map.connect('home', '/', controller='home', action='index')
-    map.connect('bugtracker', "http://bitbucket.org/marcinkuzminski/rhodecode/issues", _static=True)
-    map.connect('gpl_license', "http://www.gnu.org/licenses/gpl.html", _static=True)
+    routes_map.connect('home', '/', controller='home', action='index')
+    routes_map.connect('bugtracker', "http://bitbucket.org/marcinkuzminski/rhodecode/issues", _static=True)
+    routes_map.connect('gpl_license', "http://www.gnu.org/licenses/gpl.html", _static=True)
     #ADMIN REPOSITORY REST ROUTES
-    with map.submapper(path_prefix='/_admin', controller='admin/repos') as m:
+    with routes_map.submapper(path_prefix='/_admin', controller='admin/repos') as m:
         m.connect("repos", "/repos",
              action="create", conditions=dict(method=["POST"]))
         m.connect("repos", "/repos",
@@ -87,25 +88,25 @@
                                                         function=check_repo))
 
     #ADMIN USER REST ROUTES
-    map.resource('user', 'users', controller='admin/users', path_prefix='/_admin')
+    routes_map.resource('user', 'users', controller='admin/users', path_prefix='/_admin')
 
     #ADMIN USER REST ROUTES
-    map.resource('users_group', 'users_groups', controller='admin/users_groups', path_prefix='/_admin')
+    routes_map.resource('users_group', 'users_groups', controller='admin/users_groups', path_prefix='/_admin')
 
     #ADMIN GROUP REST ROUTES
-    map.resource('group', 'groups', controller='admin/groups', path_prefix='/_admin')
+    routes_map.resource('group', 'groups', controller='admin/groups', path_prefix='/_admin')
 
     #ADMIN PERMISSIONS REST ROUTES
-    map.resource('permission', 'permissions', controller='admin/permissions', path_prefix='/_admin')
+    routes_map.resource('permission', 'permissions', controller='admin/permissions', path_prefix='/_admin')
 
     ##ADMIN LDAP SETTINGS
-    map.connect('ldap_settings', '/_admin/ldap', controller='admin/ldap_settings',
+    routes_map.connect('ldap_settings', '/_admin/ldap', controller='admin/ldap_settings',
                 action='ldap_settings', conditions=dict(method=["POST"]))
-    map.connect('ldap_home', '/_admin/ldap', controller='admin/ldap_settings',)
+    routes_map.connect('ldap_home', '/_admin/ldap', controller='admin/ldap_settings',)
 
 
     #ADMIN SETTINGS REST ROUTES
-    with map.submapper(path_prefix='/_admin', controller='admin/settings') as m:
+    with routes_map.submapper(path_prefix='/_admin', controller='admin/settings') as m:
         m.connect("admin_settings", "/settings",
              action="create", conditions=dict(method=["POST"]))
         m.connect("admin_settings", "/settings",
@@ -136,89 +137,89 @@
              action="create_repository", conditions=dict(method=["GET"]))
 
     #ADMIN MAIN PAGES
-    with map.submapper(path_prefix='/_admin', controller='admin/admin') as m:
+    with routes_map.submapper(path_prefix='/_admin', controller='admin/admin') as m:
         m.connect('admin_home', '', action='index')#main page
         m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}',
                   action='add_repo')
 
 
     #USER JOURNAL
-    map.connect('journal', '/_admin/journal', controller='journal',)
-    map.connect('toggle_following', '/_admin/toggle_following', controller='journal',
+    routes_map.connect('journal', '/_admin/journal', controller='journal',)
+    routes_map.connect('toggle_following', '/_admin/toggle_following', controller='journal',
                 action='toggle_following', conditions=dict(method=["POST"]))
 
 
     #SEARCH
-    map.connect('search', '/_admin/search', controller='search',)
-    map.connect('search_repo', '/_admin/search/{search_repo:.*}', controller='search')
+    routes_map.connect('search', '/_admin/search', controller='search',)
+    routes_map.connect('search_repo', '/_admin/search/{search_repo:.*}', controller='search')
 
     #LOGIN/LOGOUT/REGISTER/SIGN IN
-    map.connect('login_home', '/_admin/login', controller='login')
-    map.connect('logout_home', '/_admin/logout', controller='login', action='logout')
-    map.connect('register', '/_admin/register', controller='login', action='register')
-    map.connect('reset_password', '/_admin/password_reset', controller='login', action='password_reset')
+    routes_map.connect('login_home', '/_admin/login', controller='login')
+    routes_map.connect('logout_home', '/_admin/logout', controller='login', action='logout')
+    routes_map.connect('register', '/_admin/register', controller='login', action='register')
+    routes_map.connect('reset_password', '/_admin/password_reset', controller='login', action='password_reset')
 
     #FEEDS
-    map.connect('rss_feed_home', '/{repo_name:.*}/feed/rss',
+    routes_map.connect('rss_feed_home', '/{repo_name:.*}/feed/rss',
                 controller='feed', action='rss',
                 conditions=dict(function=check_repo))
-    map.connect('atom_feed_home', '/{repo_name:.*}/feed/atom',
+    routes_map.connect('atom_feed_home', '/{repo_name:.*}/feed/atom',
                 controller='feed', action='atom',
                 conditions=dict(function=check_repo))
 
 
     #REPOSITORY ROUTES
-    map.connect('changeset_home', '/{repo_name:.*}/changeset/{revision}',
+    routes_map.connect('changeset_home', '/{repo_name:.*}/changeset/{revision}',
                 controller='changeset', revision='tip',
                 conditions=dict(function=check_repo))
-    map.connect('raw_changeset_home', '/{repo_name:.*}/raw-changeset/{revision}',
+    routes_map.connect('raw_changeset_home', '/{repo_name:.*}/raw-changeset/{revision}',
                 controller='changeset', action='raw_changeset', revision='tip',
                 conditions=dict(function=check_repo))
-    map.connect('summary_home', '/{repo_name:.*}',
+    routes_map.connect('summary_home', '/{repo_name:.*}',
                 controller='summary', conditions=dict(function=check_repo))
-    map.connect('summary_home', '/{repo_name:.*}/summary',
+    routes_map.connect('summary_home', '/{repo_name:.*}/summary',
                 controller='summary', conditions=dict(function=check_repo))
-    map.connect('shortlog_home', '/{repo_name:.*}/shortlog',
+    routes_map.connect('shortlog_home', '/{repo_name:.*}/shortlog',
                 controller='shortlog', conditions=dict(function=check_repo))
-    map.connect('branches_home', '/{repo_name:.*}/branches',
+    routes_map.connect('branches_home', '/{repo_name:.*}/branches',
                 controller='branches', conditions=dict(function=check_repo))
-    map.connect('tags_home', '/{repo_name:.*}/tags',
+    routes_map.connect('tags_home', '/{repo_name:.*}/tags',
                 controller='tags', conditions=dict(function=check_repo))
-    map.connect('changelog_home', '/{repo_name:.*}/changelog',
+    routes_map.connect('changelog_home', '/{repo_name:.*}/changelog',
                 controller='changelog', conditions=dict(function=check_repo))
-    map.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
+    routes_map.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
                 controller='files', revision='tip', f_path='',
                 conditions=dict(function=check_repo))
-    map.connect('files_diff_home', '/{repo_name:.*}/diff/{f_path:.*}',
+    routes_map.connect('files_diff_home', '/{repo_name:.*}/diff/{f_path:.*}',
                 controller='files', action='diff', revision='tip', f_path='',
                 conditions=dict(function=check_repo))
-    map.connect('files_rawfile_home', '/{repo_name:.*}/rawfile/{revision}/{f_path:.*}',
+    routes_map.connect('files_rawfile_home', '/{repo_name:.*}/rawfile/{revision}/{f_path:.*}',
                 controller='files', action='rawfile', revision='tip', f_path='',
                 conditions=dict(function=check_repo))
-    map.connect('files_raw_home', '/{repo_name:.*}/raw/{revision}/{f_path:.*}',
+    routes_map.connect('files_raw_home', '/{repo_name:.*}/raw/{revision}/{f_path:.*}',
                 controller='files', action='raw', revision='tip', f_path='',
                 conditions=dict(function=check_repo))
-    map.connect('files_annotate_home', '/{repo_name:.*}/annotate/{revision}/{f_path:.*}',
+    routes_map.connect('files_annotate_home', '/{repo_name:.*}/annotate/{revision}/{f_path:.*}',
                 controller='files', action='annotate', revision='tip', f_path='',
                 conditions=dict(function=check_repo))
-    map.connect('files_archive_home', '/{repo_name:.*}/archive/{fname}',
+    routes_map.connect('files_archive_home', '/{repo_name:.*}/archive/{fname}',
                 controller='files', action='archivefile',
                 conditions=dict(function=check_repo))
-    map.connect('repo_settings_delete', '/{repo_name:.*}/settings',
+    routes_map.connect('repo_settings_delete', '/{repo_name:.*}/settings',
                 controller='settings', action="delete",
                 conditions=dict(method=["DELETE"], function=check_repo))
-    map.connect('repo_settings_update', '/{repo_name:.*}/settings',
+    routes_map.connect('repo_settings_update', '/{repo_name:.*}/settings',
                 controller='settings', action="update",
                 conditions=dict(method=["PUT"], function=check_repo))
-    map.connect('repo_settings_home', '/{repo_name:.*}/settings',
+    routes_map.connect('repo_settings_home', '/{repo_name:.*}/settings',
                 controller='settings', action='index',
                 conditions=dict(function=check_repo))
 
-    map.connect('repo_fork_create_home', '/{repo_name:.*}/fork',
+    routes_map.connect('repo_fork_create_home', '/{repo_name:.*}/fork',
                 controller='settings', action='fork_create',
                 conditions=dict(function=check_repo, method=["POST"]))
-    map.connect('repo_fork_home', '/{repo_name:.*}/fork',
+    routes_map.connect('repo_fork_home', '/{repo_name:.*}/fork',
                 controller='settings', action='fork',
                 conditions=dict(function=check_repo))
 
-    return map
+    return routes_map