##// END OF EJS Templates
Implemented server side forks...
Implemented server side forks added ability to pass session to user/repo models

File last commit:

r530:a08f610e default
r530:a08f610e default
Show More
routing.py
181 lines | 9.6 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
#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"]))
implemented basic (startup) nose test suite.
r459 m.connect("formatted_admin_settings", "/settings.{format}",
routes python 2.5 compatible...
r371 action="index", conditions=dict(method=["GET"]))
m.connect("admin_new_setting", "/settings/new",
action="new", conditions=dict(method=["GET"]))
implemented basic (startup) nose test suite.
r459 m.connect("formatted_admin_new_setting", "/settings/new.{format}",
routes python 2.5 compatible...
r371 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"]))
implemented basic (startup) nose test suite.
r459 m.connect("formatted_admin_edit_setting", "/settings/{setting_id}.{format}/edit",
routes python 2.5 compatible...
r371 action="edit", conditions=dict(method=["GET"]))
m.connect("admin_setting", "/settings/{setting_id}",
action="show", conditions=dict(method=["GET"]))
implemented basic (startup) nose test suite.
r459 m.connect("formatted_admin_setting", "/settings/{setting_id}.{format}",
routes python 2.5 compatible...
r371 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"]))
Added separate create repository views for non administrative users....
r380 m.connect("admin_settings_create_repository", "/create_repository",
action="create_repository", conditions=dict(method=["GET"]))
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')
Implemented search using whoosh. Still as experimental option.
r406 #SEARCH
added search in specific repository...
r525 map.connect('search', '/_admin/search', controller='search',)
map.connect('search_repo', '/_admin/search/{search_repo:.*}', controller='search')
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
Implemented password reset(forms/models/ tasks) and mailing tasks....
r474 #LOGIN/LOGOUT/REGISTER/SIGN IN
Added user registration, changed login url schema, moved it into _admin/ for safety
r363 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')
Implemented password reset(forms/models/ tasks) and mailing tasks....
r474 map.connect('reset_password', '/_admin/password_reset', controller='login', action='password_reset')
Added user registration, changed login url schema, moved it into _admin/ for safety
r363
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))
first implementation of #34 changeset raw diff based on udiff from python
r466 map.connect('raw_changeset_home', '/{repo_name:.*}/raw-changeset/{revision}',
added limit for showing pygemntized source codes larger than 250kb.
r485 controller='changeset', action='raw_changeset', revision='tip',
first implementation of #34 changeset raw diff based on udiff from python
r466 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 limit for showing pygemntized source codes larger than 250kb.
r485 map.connect('files_rawfile_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 limit for showing pygemntized source codes larger than 250kb.
r485 map.connect('files_raw_home', '/{repo_name:.*}/raw/{revision}/{f_path:.*}',
controller='files', action='raw', 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',
added search in specific repository...
r525 conditions=dict(function=check_repo))
map.connect('repo_settings_delete', '/{repo_name:.*}/settings',
controller='settings', action="delete",
conditions=dict(method=["DELETE"], 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))
Implemented server side forks...
r530 map.connect('repo_fork_create_home', '/{repo_name:.*}/fork',
controller='settings', action='fork_create',
conditions=dict(function=check_repo, method=["POST"]))
added search in specific repository...
r525 map.connect('repo_fork_home', '/{repo_name:.*}/fork',
controller='settings', action='fork',
Implemented server side forks...
r530 conditions=dict(function=check_repo))
Marcin Kuzminski
initial commit.
r0 return map