routing.py
60 lines
| 2.7 KiB
| text/x-python
|
PythonLexer
Marcin Kuzminski
|
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): | |||
Marcin Kuzminski
|
r0 | """Create, configure and return the routes Mapper""" | ||
r43 | map = Mapper(directory=config['pylons.paths']['controllers'], | |||
always_scan=config['debug']) | ||||
Marcin Kuzminski
|
r0 | map.minimization = False | ||
r43 | map.explicit = False | |||
Marcin Kuzminski
|
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') | ||||
Marcin Kuzminski
|
r0 | |||
# CUSTOM ROUTES HERE | ||||
Marcin Kuzminski
|
r70 | map.connect('hg_home', '/', controller='hg', action='index') | ||
Marcin Kuzminski
|
r47 | |||
r92 | ||||
#REST controllers | ||||
Marcin Kuzminski
|
r47 | map.resource('repo', 'repos', path_prefix='/_admin') | ||
map.resource('user', 'users', path_prefix='/_admin') | ||||
Marcin Kuzminski
|
r55 | |||
r92 | #ADMIN | |||
Marcin Kuzminski
|
r70 | with map.submapper(path_prefix='/_admin', controller='admin') as m: | ||
m.connect('admin_home', '/', action='index')#main page | ||||
r149 | m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}', | |||
action='add_repo') | ||||
Marcin Kuzminski
|
r74 | |||
r181 | map.connect('login_home', '/login', controller='login') | |||
map.connect('logout_home', '/logout', controller='login', action='logout') | ||||
Marcin Kuzminski
|
r74 | |||
r148 | map.connect('changeset_home', '/{repo_name}/changeset/{revision}', | |||
controller='changeset', revision='tip') | ||||
map.connect('summary_home', '/{repo_name}/summary', | ||||
controller='summary') | ||||
r162 | map.connect('shortlog_home', '/{repo_name}/shortlog/', | |||
controller='shortlog') | ||||
r148 | map.connect('branches_home', '/{repo_name}/branches', | |||
controller='branches') | ||||
map.connect('tags_home', '/{repo_name}/tags', | ||||
controller='tags') | ||||
r162 | map.connect('changelog_home', '/{repo_name}/changelog', | |||
controller='changelog') | ||||
r148 | 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='') | ||||
r181 | map.connect('files_annotate_home', '/{repo_name}/annotate/{revision}/{f_path:.*}', | |||
controller='files', action='annotate', revision='tip', f_path='') | ||||
r149 | map.connect('files_archive_home', '/{repo_name}/archive/{revision}/{fileformat}', | |||
controller='files', action='archivefile', revision='tip') | ||||
Marcin Kuzminski
|
r0 | return map | ||