routing.py
53 lines
| 2.3 KiB
| text/x-python
|
PythonLexer
|
r0 | """Routes configuration | ||
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 routes import Mapper | ||||
r43 | def make_map(config): | |||
|
r0 | """Create, configure and return the routes Mapper""" | ||
r43 | map = Mapper(directory=config['pylons.paths']['controllers'], | |||
always_scan=config['debug']) | ||||
|
r0 | map.minimization = False | ||
r43 | map.explicit = False | |||
|
r0 | |||
# The ErrorController route (handles 404/500 error pages); it should | ||||
# likely stay at the top, ensuring it can always be resolved | ||||
r43 | map.connect('/error/{action}', controller='error') | |||
map.connect('/error/{action}/{id}', controller='error') | ||||
|
r0 | |||
# CUSTOM ROUTES HERE | ||||
|
r70 | map.connect('hg_home', '/', controller='hg', action='index') | ||
|
r47 | |||
r92 | ||||
#REST controllers | ||||
|
r47 | map.resource('repo', 'repos', path_prefix='/_admin') | ||
map.resource('user', 'users', path_prefix='/_admin') | ||||
|
r55 | |||
r92 | #ADMIN | |||
|
r70 | with map.submapper(path_prefix='/_admin', controller='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') | ||||
|
r74 | |||
r148 | map.connect('changeset_home', '/{repo_name}/changeset/{revision}', | |||
controller='changeset', revision='tip') | ||||
map.connect('summary_home', '/{repo_name}/summary', | ||||
controller='summary') | ||||
map.connect('shortlog_home', '/{repo_name}/shortlog/{revision}', | ||||
controller='shortlog', revision='tip') | ||||
map.connect('branches_home', '/{repo_name}/branches', | ||||
controller='branches') | ||||
map.connect('tags_home', '/{repo_name}/tags', | ||||
controller='tags') | ||||
map.connect('changelog_home', '/{repo_name}/changelog/{revision}', | ||||
controller='changelog', revision='tip') | ||||
map.connect('files_home', '/{repo_name}/files/{revision}/{f_path:.*}', | ||||
controller='files', revision='tip', f_path='') | ||||
map.connect('files_diff_home', '/{repo_name}/diff/{f_path:.*}', | ||||
controller='files', action='diff', revision='tip', f_path='') | ||||
map.connect('files_raw_home', '/{repo_name}/rawfile/{revision}/{f_path:.*}', | ||||
controller='files', action='rawfile', revision='tip', f_path='') | ||||
|
r0 | return map | ||