##// END OF EJS Templates
routes python 2.5 compatible...
routes python 2.5 compatible added my account settings, some changes to routes mappers for settings to more custom ones

File last commit:

r371:5cd6616b default
r371:5cd6616b default
Show More
routing.py
161 lines | 8.3 KiB | text/x-python | PythonLexer
Marcin Kuzminski
initial commit.
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/
"""
routes python 2.5 compatible...
r371 from __future__ import with_statement
Marcin Kuzminski
initial commit.
r0 from routes import Mapper
made routes verification method based only on paths, since it's much faster and enough
r301 from pylons_app.lib.utils import check_repo_fast as cr
Marcin Kuzminski
initial commit.
r0
changed for pylons 0.1 / 1.0...
r43 def make_map(config):
Marcin Kuzminski
initial commit.
r0 """Create, configure and return the routes Mapper"""
changed for pylons 0.1 / 1.0...
r43 map = Mapper(directory=config['pylons.paths']['controllers'],
always_scan=config['debug'])
Marcin Kuzminski
initial commit.
r0 map.minimization = False
changed for pylons 0.1 / 1.0...
r43 map.explicit = False
Marcin Kuzminski
initial commit.
r0
# The ErrorController route (handles 404/500 error pages); it should
# likely stay at the top, ensuring it can always be resolved
changed for pylons 0.1 / 1.0...
r43 map.connect('/error/{action}', controller='error')
map.connect('/error/{action}/{id}', controller='error')
Marcin Kuzminski
initial commit.
r0
# CUSTOM ROUTES HERE
Marcin Kuzminski
Updated defaults bug of htmlfill + changed routing
r70 map.connect('hg_home', '/', controller='hg', action='index')
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
fixed 404s added extra validator for magic repo_name path in routes
r300 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'])
routes python 2.5 compatible...
r371 #REST REPO MAP
added settings rest controllers for admin, updated routes with easier submodule handling
r346 with map.submapper(path_prefix='/_admin', controller='admin/repos') as m:
Added support for repository located in subdirectories.
r248 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"]))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299 m.connect("/repos/{repo_name:.*}",
fixed 404s added extra validator for magic repo_name path in routes
r300 action="update", conditions=dict(method=["PUT"],
function=check_repo))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299 m.connect("/repos/{repo_name:.*}",
fixed 404s added extra validator for magic repo_name path in routes
r300 action="delete", conditions=dict(method=["DELETE"],
function=check_repo))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299 m.connect("edit_repo", "/repos/{repo_name:.*}/edit",
fixed 404s added extra validator for magic repo_name path in routes
r300 action="edit", conditions=dict(method=["GET"],
function=check_repo))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299 m.connect("formatted_edit_repo", "/repos/{repo_name:.*}.{format}/edit",
fixed 404s added extra validator for magic repo_name path in routes
r300 action="edit", conditions=dict(method=["GET"],
function=check_repo))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299 m.connect("repo", "/repos/{repo_name:.*}",
fixed 404s added extra validator for magic repo_name path in routes
r300 action="show", conditions=dict(method=["GET"],
function=check_repo))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299 m.connect("formatted_repo", "/repos/{repo_name:.*}.{format}",
fixed 404s added extra validator for magic repo_name path in routes
r300 action="show", conditions=dict(method=["GET"],
function=check_repo))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299 #ajax delete repo perm user
m.connect('delete_repo_user', "/repos_delete_user/{repo_name:.*}",
fixed 404s added extra validator for magic repo_name path in routes
r300 action="delete_perm_user", conditions=dict(method=["DELETE"],
function=check_repo))
repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes....
r299
added settings rest controllers for admin, updated routes with easier submodule handling
r346 map.resource('user', 'users', controller='admin/users', path_prefix='/_admin')
map.resource('permission', 'permissions', controller='admin/permissions', path_prefix='/_admin')
routes python 2.5 compatible...
r371
#map.resource('setting', 'settings', controller='admin/settings', path_prefix='/_admin', name_prefix='admin_')
#REST SETTINGS MAP
with 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",
action="index", conditions=dict(method=["GET"]))
m.connect("admin_formatted_settings", "/settings.{format}",
action="index", conditions=dict(method=["GET"]))
m.connect("admin_new_setting", "/settings/new",
action="new", conditions=dict(method=["GET"]))
m.connect("admin_formatted_new_setting", "/settings/new.{format}",
action="new", conditions=dict(method=["GET"]))
m.connect("/settings/{setting_id}",
action="update", conditions=dict(method=["PUT"]))
m.connect("/settings/{setting_id}",
action="delete", conditions=dict(method=["DELETE"]))
m.connect("admin_edit_setting", "/settings/{setting_id}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("admin_formatted_edit_setting", "/settings/{setting_id}.{format}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("admin_setting", "/settings/{setting_id}",
action="show", conditions=dict(method=["GET"]))
m.connect("admin_formatted_setting", "/settings/{setting_id}.{format}",
action="show", conditions=dict(method=["GET"]))
m.connect("admin_settings_my_account", "/my_account",
action="my_account", conditions=dict(method=["GET"]))
m.connect("admin_settings_my_account_update", "/my_account_update",
action="my_account_update", conditions=dict(method=["PUT"]))
Marcin Kuzminski
Implemented index page using vcs
r55
updated routing
r92 #ADMIN
added settings rest controllers for admin, updated routes with easier submodule handling
r346 with map.submapper(path_prefix='/_admin', controller='admin/admin') as m:
admin path fix
r306 m.connect('admin_home', '', action='index')#main page
Updated template for summary (archives links)...
r149 m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}',
action='add_repo')
Marcin Kuzminski
Started summary page. Added filters to templates. used by n,self.f.filtername prefixed by n to disable other filters. Few other fixes found
r74
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 #LOGIN/LOGOUT
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')
Added feed controllers, urls,and changed index page to use them.
r205 #FEEDS
Added support for repository located in subdirectories.
r248 map.connect('rss_feed_home', '/{repo_name:.*}/feed/rss',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='feed', action='rss',
conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('atom_feed_home', '/{repo_name:.*}/feed/atom',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='feed', action='atom',
conditions=dict(function=check_repo))
Added feed controllers, urls,and changed index page to use them.
r205
Marcin Kuzminski
Started summary page. Added filters to templates. used by n,self.f.filtername prefixed by n to disable other filters. Few other fixes found
r74
Moved admin controllers to separate module
r323 #OTHERS
Added support for repository located in subdirectories.
r248 map.connect('changeset_home', '/{repo_name:.*}/changeset/{revision}',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='changeset', revision='tip',
conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('summary_home', '/{repo_name:.*}/summary',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='summary', conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('shortlog_home', '/{repo_name:.*}/shortlog',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='shortlog', conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('branches_home', '/{repo_name:.*}/branches',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='branches', conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('tags_home', '/{repo_name:.*}/tags',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='tags', conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('changelog_home', '/{repo_name:.*}/changelog',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='changelog', conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='files', revision='tip', f_path='',
conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('files_diff_home', '/{repo_name:.*}/diff/{f_path:.*}',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='files', action='diff', revision='tip', f_path='',
conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('files_raw_home', '/{repo_name:.*}/rawfile/{revision}/{f_path:.*}',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='files', action='rawfile', revision='tip', f_path='',
conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('files_annotate_home', '/{repo_name:.*}/annotate/{revision}/{f_path:.*}',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='files', action='annotate', revision='tip', f_path='',
conditions=dict(function=check_repo))
Added support for repository located in subdirectories.
r248 map.connect('files_archive_home', '/{repo_name:.*}/archive/{revision}/{fileformat}',
fixed 404s added extra validator for magic repo_name path in routes
r300 controller='files', action='archivefile', revision='tip',
conditions=dict(function=check_repo))
Implemented owner settings, as separete posibility to edit repositry by non administrative owner of repository
r320 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',
controller='settings', action='index',
conditions=dict(function=check_repo))
Marcin Kuzminski
initial commit.
r0 return map