##// END OF EJS Templates
files: fixes error when passing a diff without parameters and caused server crash...
files: fixes error when passing a diff without parameters and caused server crash adde dulwich dep, to rhodecode to make sure it is installed

File last commit:

r1214:a2dba935 beta
r1224:e76833cd beta
Show More
routing.py
285 lines | 13.1 KiB | text/x-python | PythonLexer
fixed @repo into :repo for docs...
r604 """
Routes configuration
renamed project to rhodecode
r547
The more specific and detailed routes should be defined first so they
may take precedent over the more generic routes. For more information
refer to the routes manual at http://routes.groovie.org/docs/
"""
from __future__ import with_statement
from routes import Mapper
from rhodecode.lib.utils import check_repo_fast as cr
added __license__ into main of rhodecode, PEP8ify
r1205
renamed project to rhodecode
r547 def make_map(config):
"""Create, configure and return the routes Mapper"""
pep8ify
r1211 rmap = Mapper(directory=config['pylons.paths']['controllers'],
renamed project to rhodecode
r547 always_scan=config['debug'])
pep8ify
r1211 rmap.minimization = False
rmap.explicit = False
renamed project to rhodecode
r547
fixed @repo into :repo for docs...
r604 def check_repo(environ, match_dict):
"""
check for valid repository for proper 404 handling
:param environ:
:param match_dict:
"""
repo_name = match_dict.get('repo_name')
return not cr(repo_name, config['base_path'])
renamed project to rhodecode
r547 # The ErrorController route (handles 404/500 error pages); it should
# likely stay at the top, ensuring it can always be resolved
pep8ify
r1211 rmap.connect('/error/{action}', controller='error')
rmap.connect('/error/{action}/{id}', controller='error')
renamed project to rhodecode
r547
fixed @repo into :repo for docs...
r604 #==========================================================================
renamed project to rhodecode
r547 # CUSTOM ROUTES HERE
fixed @repo into :repo for docs...
r604 #==========================================================================
#MAIN PAGE
pep8ify
r1211 rmap.connect('home', '/', controller='home', action='index')
fixed removed route during pep8ify
r1214 rmap.connect('repo_switcher', '/repos', controller='home',
action='repo_switcher')
pep8ify
r1211 rmap.connect('bugtracker',
"http://bitbucket.org/marcinkuzminski/rhodecode/issues",
_static=True)
rmap.connect('rhodecode_official', "http://rhodecode.org", _static=True)
added changes made in production branch back into beta
r1143
fixed @repo into :repo for docs...
r604 #ADMIN REPOSITORY REST ROUTES
pep8ify
r1211 with rmap.submapper(path_prefix='/_admin', controller='admin/repos') as m:
renamed project to rhodecode
r547 m.connect("repos", "/repos",
action="create", conditions=dict(method=["POST"]))
m.connect("repos", "/repos",
action="index", conditions=dict(method=["GET"]))
m.connect("formatted_repos", "/repos.{format}",
action="index",
conditions=dict(method=["GET"]))
m.connect("new_repo", "/repos/new",
action="new", conditions=dict(method=["GET"]))
m.connect("formatted_new_repo", "/repos/new.{format}",
action="new", conditions=dict(method=["GET"]))
m.connect("/repos/{repo_name:.*}",
action="update", conditions=dict(method=["PUT"],
function=check_repo))
m.connect("/repos/{repo_name:.*}",
action="delete", conditions=dict(method=["DELETE"],
function=check_repo))
m.connect("edit_repo", "/repos/{repo_name:.*}/edit",
action="edit", conditions=dict(method=["GET"],
function=check_repo))
m.connect("formatted_edit_repo", "/repos/{repo_name:.*}.{format}/edit",
action="edit", conditions=dict(method=["GET"],
function=check_repo))
m.connect("repo", "/repos/{repo_name:.*}",
action="show", conditions=dict(method=["GET"],
function=check_repo))
m.connect("formatted_repo", "/repos/{repo_name:.*}.{format}",
action="show", conditions=dict(method=["GET"],
function=check_repo))
#ajax delete repo perm user
m.connect('delete_repo_user', "/repos_delete_user/{repo_name:.*}",
action="delete_perm_user", conditions=dict(method=["DELETE"],
function=check_repo))
#56 added ajax removal of users groups,...
r1015 #ajax delete repo perm users_group
pep8ify
r1211 m.connect('delete_repo_users_group',
"/repos_delete_users_group/{repo_name:.*}",
action="delete_perm_users_group",
conditions=dict(method=["DELETE"], function=check_repo))
#56 added ajax removal of users groups,...
r1015
added cache reset, stats reset, and delete into repository settings in admin....
r708 #settings actions
m.connect('repo_stats', "/repos_stats/{repo_name:.*}",
action="repo_stats", conditions=dict(method=["DELETE"],
function=check_repo))
m.connect('repo_cache', "/repos_cache/{repo_name:.*}",
action="repo_cache", conditions=dict(method=["DELETE"],
function=check_repo))
pep8ify
r1211 m.connect('repo_public_journal',
"/repos_public_journal/{repo_name:.*}",
action="repo_public_journal", conditions=dict(method=["PUT"],
function=check_repo))
#109, added manual pull of changes for repositories that have remote location filled in....
r1114 m.connect('repo_pull', "/repo_pull/{repo_name:.*}",
action="repo_pull", conditions=dict(method=["PUT"],
function=check_repo))
changes for #56
r1171 #ADMIN REPOS GROUP REST ROUTES
pep8ify
r1211 rmap.resource('repos_group', 'repos_groups',
controller='admin/repos_groups', path_prefix='/_admin')
#56 fixed found bugs, implemented adding of new group + forms+validators...
r959
#ADMIN USER REST ROUTES
pep8ify
r1211 rmap.resource('user', 'users', controller='admin/users',
path_prefix='/_admin')
#56 fixed found bugs, implemented adding of new group + forms+validators...
r959
changes for #56
r1171 #ADMIN USERS REST ROUTES
pep8ify
r1211 rmap.resource('users_group', 'users_groups',
controller='admin/users_groups', path_prefix='/_admin')
started working on issue #56
r956
#ADMIN GROUP REST ROUTES
pep8ify
r1211 rmap.resource('group', 'groups', controller='admin/groups',
path_prefix='/_admin')
fixed @repo into :repo for docs...
r604
#ADMIN PERMISSIONS REST ROUTES
pep8ify
r1211 rmap.resource('permission', 'permissions',
controller='admin/permissions', path_prefix='/_admin')
fixes #77 moved out ldap config to it's own section
r769
##ADMIN LDAP SETTINGS
pep8ify
r1211 rmap.connect('ldap_settings', '/_admin/ldap',
controller='admin/ldap_settings', action='ldap_settings',
conditions=dict(method=["POST"]))
rmap.connect('ldap_home', '/_admin/ldap',
controller='admin/ldap_settings')
implements #60, ldap configuration and authentication....
r705
fixed @repo into :repo for docs...
r604 #ADMIN SETTINGS REST ROUTES
pep8ify
r1211 with rmap.submapper(path_prefix='/_admin',
controller='admin/settings') as m:
renamed project to rhodecode
r547 m.connect("admin_settings", "/settings",
pep8ify
r1211 action="create", conditions=dict(method=["POST"]))
renamed project to rhodecode
r547 m.connect("admin_settings", "/settings",
pep8ify
r1211 action="index", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("formatted_admin_settings", "/settings.{format}",
pep8ify
r1211 action="index", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_new_setting", "/settings/new",
pep8ify
r1211 action="new", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("formatted_admin_new_setting", "/settings/new.{format}",
pep8ify
r1211 action="new", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("/settings/{setting_id}",
pep8ify
r1211 action="update", conditions=dict(method=["PUT"]))
renamed project to rhodecode
r547 m.connect("/settings/{setting_id}",
pep8ify
r1211 action="delete", conditions=dict(method=["DELETE"]))
renamed project to rhodecode
r547 m.connect("admin_edit_setting", "/settings/{setting_id}/edit",
pep8ify
r1211 action="edit", conditions=dict(method=["GET"]))
m.connect("formatted_admin_edit_setting",
"/settings/{setting_id}.{format}/edit",
action="edit", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_setting", "/settings/{setting_id}",
pep8ify
r1211 action="show", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("formatted_admin_setting", "/settings/{setting_id}.{format}",
pep8ify
r1211 action="show", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_settings_my_account", "/my_account",
pep8ify
r1211 action="my_account", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_settings_my_account_update", "/my_account_update",
pep8ify
r1211 action="my_account_update", conditions=dict(method=["PUT"]))
renamed project to rhodecode
r547 m.connect("admin_settings_create_repository", "/create_repository",
pep8ify
r1211 action="create_repository", conditions=dict(method=["GET"]))
fixed @repo into :repo for docs...
r604
#ADMIN MAIN PAGES
pep8ify
r1211 with rmap.submapper(path_prefix='/_admin', controller='admin/admin') as m:
m.connect('admin_home', '', action='index')
renamed project to rhodecode
r547 m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}',
action='add_repo')
implemented user dashboards, and following system.
r734
pep8ify
r1211 #USER JOURNAL
rmap.connect('journal', '/_admin/journal', controller='journal')
implemented user dashboards, and following system.
r734
pep8ify
r1211 rmap.connect('public_journal', '/_admin/public_journal',
controller='journal', action="public_journal")
rmap.connect('public_journal_rss', '/_admin/public_journal_rss',
controller='journal', action="public_journal_rss")
made simple global rss and atom feed
r1088
pep8ify
r1211 rmap.connect('public_journal_atom', '/_admin/public_journal_atom',
controller='journal', action="public_journal_atom")
implemented user dashboards, and following system.
r734
pep8ify
r1211 rmap.connect('toggle_following', '/_admin/toggle_following',
controller='journal', action='toggle_following',
conditions=dict(method=["POST"]))
implemented user dashboards, and following system.
r734
renamed project to rhodecode
r547 #SEARCH
pep8ify
r1211 rmap.connect('search', '/_admin/search', controller='search',)
rmap.connect('search_repo', '/_admin/search/{search_repo:.*}',
controller='search')
fixed @repo into :repo for docs...
r604
renamed project to rhodecode
r547 #LOGIN/LOGOUT/REGISTER/SIGN IN
pep8ify
r1211 rmap.connect('login_home', '/_admin/login', controller='login')
rmap.connect('logout_home', '/_admin/logout', controller='login',
action='logout')
rmap.connect('register', '/_admin/register', controller='login',
action='register')
rmap.connect('reset_password', '/_admin/password_reset',
controller='login', action='password_reset')
fixed @repo into :repo for docs...
r604
renamed project to rhodecode
r547 #FEEDS
pep8ify
r1211 rmap.connect('rss_feed_home', '/{repo_name:.*}/feed/rss',
renamed project to rhodecode
r547 controller='feed', action='rss',
conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('atom_feed_home', '/{repo_name:.*}/feed/atom',
renamed project to rhodecode
r547 controller='feed', action='atom',
conditions=dict(function=check_repo))
fixed @repo into :repo for docs...
r604
#REPOSITORY ROUTES
pep8ify
r1211 rmap.connect('changeset_home', '/{repo_name:.*}/changeset/{revision}',
renamed project to rhodecode
r547 controller='changeset', revision='tip',
conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('raw_changeset_home',
'/{repo_name:.*}/raw-changeset/{revision}',
controller='changeset', action='raw_changeset',
revision='tip', conditions=dict(function=check_repo))
rmap.connect('summary_home', '/{repo_name:.*}',
Fixed links for repository, it's optional now to pass a link without a summary...
r976 controller='summary', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('summary_home', '/{repo_name:.*}/summary',
renamed project to rhodecode
r547 controller='summary', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('shortlog_home', '/{repo_name:.*}/shortlog',
renamed project to rhodecode
r547 controller='shortlog', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('branches_home', '/{repo_name:.*}/branches',
renamed project to rhodecode
r547 controller='branches', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('tags_home', '/{repo_name:.*}/tags',
renamed project to rhodecode
r547 controller='tags', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('changelog_home', '/{repo_name:.*}/changelog',
fixed @repo into :repo for docs...
r604 controller='changelog', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
renamed project to rhodecode
r547 controller='files', revision='tip', f_path='',
conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('files_diff_home', '/{repo_name:.*}/diff/{f_path:.*}',
renamed project to rhodecode
r547 controller='files', action='diff', revision='tip', f_path='',
conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('files_rawfile_home',
'/{repo_name:.*}/rawfile/{revision}/{f_path:.*}',
controller='files', action='rawfile', revision='tip',
f_path='', conditions=dict(function=check_repo))
rmap.connect('files_raw_home',
'/{repo_name:.*}/raw/{revision}/{f_path:.*}',
controller='files', action='raw', revision='tip', f_path='',
conditions=dict(function=check_repo))
rmap.connect('files_annotate_home',
'/{repo_name:.*}/annotate/{revision}/{f_path:.*}',
controller='files', action='annotate', revision='tip',
f_path='', conditions=dict(function=check_repo))
rmap.connect('files_archive_home', '/{repo_name:.*}/archive/{fname}',
implemented #91,...
r872 controller='files', action='archivefile',
fixed @repo into :repo for docs...
r604 conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('repo_settings_delete', '/{repo_name:.*}/settings',
renamed project to rhodecode
r547 controller='settings', action="delete",
conditions=dict(method=["DELETE"], function=check_repo))
pep8ify
r1211
rmap.connect('repo_settings_update', '/{repo_name:.*}/settings',
renamed project to rhodecode
r547 controller='settings', action="update",
conditions=dict(method=["PUT"], function=check_repo))
pep8ify
r1211
rmap.connect('repo_settings_home', '/{repo_name:.*}/settings',
renamed project to rhodecode
r547 controller='settings', action='index',
conditions=dict(function=check_repo))
pep8ify
r1211 rmap.connect('repo_fork_create_home', '/{repo_name:.*}/fork',
renamed project to rhodecode
r547 controller='settings', action='fork_create',
conditions=dict(function=check_repo, method=["POST"]))
pep8ify
r1211
rmap.connect('repo_fork_home', '/{repo_name:.*}/fork',
renamed project to rhodecode
r547 controller='settings', action='fork',
conditions=dict(function=check_repo))
fixed @repo into :repo for docs...
r604
pep8ify
r1211 return rmap