def before_map(self, map): sm = SubMapper( map, controller='ckanext.cloudstorage.controller:StorageController' ) # Override the resource download controllers so we can do our # lookup with libcloud. with sm: sm.connect( 'resource_download', '/dataset/{id}/resource/{resource_id}/download', action='resource_download' ) sm.connect( 'resource_download', '/dataset/{id}/resource/{resource_id}/download/{filename}', action='resource_download' ) return map
class GobArRouter: def __init__(self, route_map): self.route_map = route_map self.home_controller = 'ckanext.gobar_theme.controller:GobArHomeController' self.home_routes = SubMapper(self.route_map, controller=self.home_controller) self.api_controller = 'ckanext.gobar_theme.controller:GobArApiController' def redirect(self, *routes): for url_from, url_to in routes: self.route_map.redirect(url_from, url_to) def set_routes(self): self.connect_home() self.connect_static() self.connect_datasets() self.connect_organizations() self.connect_groups() self.connect_users() self.remove_dashboard() self.remove_tags() self.remove_revision() self.connect_api() def connect_home(self): self.home_routes.connect('/', action='index') def connect_static(self): self.home_routes.connect('gobar_open_data', '/datos-abiertos', action='open_data') self.home_routes.connect('gobar_legal', '/marco-legal', action='legal') self.home_routes.connect('gobar_platform', '/plataforma', action='platform') self.redirect( ('/about', '/datos-abiertos') ) def connect_datasets(self): self.route_map.connect('/dataset/{id}/archivo/{resource_id}', action='resource_read', controller='package') self.redirect( ('/dataset/history/{id:.*?}', '/dataset/{id}'), ('/dataset/activity/{id:.*?}', '/dataset/{id}'), ('/dataset/groups/{id:.*?}', '/dataset/{id}'), ('/dataset/followers/{id:.*?}', '/dataset/{id}'), ('/dataset/{id}/resource/{resource_id}', '/dataset/{id}/archivo/{resource_id}') ) def remove_dashboard(self): self.redirect( ('/dashboard', '/'), ('/dashboard/datasets', '/'), ('/dashboard/groups', '/'), ('/dashboard/organizations', '/'), ('/dashboard/{url:.*?}', '/dashboard') ) def connect_organizations(self): self.route_map.connect('/organizaciones', action='index', controller='organization') self.route_map.connect('/organization/new', action='new', controller='organization') self.redirect( ('/organization', '/organizaciones'), ('/organization/list', '/organization'), ('/organization/{id}', '/organization/list'), ('/organization/activity/{id}/{offset}', '/organization/list'), ('/organization/about/{id}', '/organization/list'), ('/organization/admins/{id}', '/organization/list'), ('/organization/members/{id}', '/organization/list'), ('/organization/member_new/{id}', '/organization/list'), ('/organization/member_delete/{id}', '/organization/list'), ('/organization/history/{id}', '/organization/list'), ('/organization/bulk_process/{id}', '/organization/list') ) def connect_groups(self): self.route_map.connect('group_new', '/group/new', action='new', controller='group') self.redirect( ('/group', '/'), ('/group/list', '/'), ('/group/{id}', '/group/list'), ('/group/about/{id}', '/group/list'), ('/group/members/{id}', '/group/list'), ('/group/member_new/{id}', '/group/list'), ('/group/member_delete/{id}', '/group/list'), ('/group/history/{id}', '/group/list'), ('/group/followers/{id}', '/group/list'), ('/group/follow/{id}', '/group/list'), ('/group/unfollow/{id}', '/group/list'), ('/group/admins/{id}', '/group/list'), ('/group/activity/{id}/{offset}', '/group/list') ) def connect_users(self): self.route_map.connect('login', '/1401admin', action='login', controller='user') self.route_map.connect('/logout', action='logout', controller='user') self.redirect( ('/user/login', '/'), ('/user/generate_key/{id}', '/'), ('/user/activity/{id}/{offset}', '/'), ('/user/activity/{id}', '/'), ('/user/follow/{id}', '/'), ('/user/unfollow/{id}', '/'), ('/user/followers/{id:.*}', '/'), ('/user/delete/{id}', '/'), ('/user/reset/{id:.*}', '/'), ('/user/register', '/'), ('/user/reset', '/'), ('/user/set_lang/{lang}', '/'), ('/user', '/'), ('/user/_logout', '/logout'), ('/user/logged_out_redirect', '/'), ('/salir', '/logout') ) def remove_tags(self): self.redirect( ('/tag', '/'), ('/tag/{url}', '/') ) def remove_revision(self): self.redirect( ('/revision', '/'), ('/revision/list', '/'), ('/revision/edit/{id}', '/revision'), ('/revision/diff/{id}', '/revision'), ('/revision/{id}', '/revision') ) def connect_api(self): with SubMapper(self.route_map, controller=self.api_controller, path_prefix='/api{ver:/3|}', ver='/3') as m: m.connect('/action/{logic_function}', action='action', conditions=dict(method=['GET', 'POST']))
class GobArRouter: def __init__(self, route_map): self.route_map = route_map self.home_controller = "ckanext.gobar_theme.controller:GobArHomeController" self.home_routes = SubMapper(self.route_map, controller=self.home_controller) self.api_controller = "ckanext.gobar_theme.controller:GobArApiController" self.package_controller = "ckanext.gobar_theme.package_controller:GobArPackageController" def redirect(self, *routes): for url_from, url_to in routes: self.route_map.redirect(url_from, url_to) def set_routes(self): self.connect_home() self.connect_static() self.connect_datasets() self.connect_organizations() self.connect_groups() self.connect_users() self.remove_dashboard() self.remove_tags() self.remove_revision() self.connect_api() self.connectThemeTaxonomy() def connect_home(self): self.home_routes.connect("/", action="index") def connect_static(self): self.home_routes.connect("gobar_our_site", "/acerca/nuestro-portal", action="about_our_site") self.home_routes.connect("gobar_legal", "/acerca/marco-legal", action="about_legal") self.home_routes.connect("gobar_devs", "/acerca/desarrolladores", action="about_developers") self.home_routes.connect("gobar_glossary", "/acerca/glosario", action="about_glossary") self.redirect(("/acerca", "/acerca/nuestro-portal"), ("/about", "/acerca/nuestro-portal")) def connect_datasets(self): with SubMapper(self.route_map, controller=self.package_controller) as m: m.connect("search", "/dataset", action="search", highlight_actions="index search") m.connect("add dataset", "/dataset/new", action="new") self.route_map.connect("/dataset/{id}/archivo/{resource_id}", action="resource_read", controller="package") self.redirect( ("/dataset/history/{id:.*?}", "/dataset/{id}"), ("/dataset/activity/{id:.*?}", "/dataset/{id}"), ("/dataset/groups/{id:.*?}", "/dataset/{id}"), ("/dataset/followers/{id:.*?}", "/dataset/{id}"), ("/dataset/{id}/resource/{resource_id}", "/dataset/{id}/archivo/{resource_id}"), ) def remove_dashboard(self): self.redirect( ("/dashboard", "/"), ("/dashboard/datasets", "/"), ("/dashboard/groups", "/"), ("/dashboard/organizations", "/"), ("/dashboard/{url:.*?}", "/dashboard"), ) def connect_organizations(self): self.route_map.connect("/organizaciones", action="index", controller="organization") self.route_map.connect("/organization/new", action="new", controller="organization") self.redirect( ("/organization", "/organizaciones"), ("/organization/list", "/organization"), ("/organization/{id}", "/organization/list"), ("/organization/activity/{id}/{offset}", "/organization/list"), ("/organization/about/{id}", "/organization/list"), ("/organization/admins/{id}", "/organization/list"), ("/organization/members/{id}", "/organization/list"), ("/organization/member_new/{id}", "/organization/list"), ("/organization/member_delete/{id}", "/organization/list"), ("/organization/history/{id}", "/organization/list"), ("/organization/bulk_process/{id}", "/organization/list"), ) def connect_groups(self): self.route_map.connect("group_new", "/group/new", action="new", controller="group") self.redirect( ("/group", "/"), ("/group/list", "/"), ("/group/{id}", "/group/list"), ("/group/about/{id}", "/group/list"), ("/group/members/{id}", "/group/list"), ("/group/member_new/{id}", "/group/list"), ("/group/member_delete/{id}", "/group/list"), ("/group/history/{id}", "/group/list"), ("/group/followers/{id}", "/group/list"), ("/group/follow/{id}", "/group/list"), ("/group/unfollow/{id}", "/group/list"), ("/group/admins/{id}", "/group/list"), ("/group/activity/{id}/{offset}", "/group/list"), ) def connect_users(self): self.route_map.connect("login", "/635511788", action="login", controller="user") self.route_map.connect("/logout", action="logout", controller="user") self.route_map.connect( "user_datasets", "/user/{id:.*}", action="read", controller="ckanext.gobar_theme.controller:GobArUserController", ) self.redirect( ("/user/login", "/"), ("/user/generate_key/{id}", "/"), ("/user/activity/{id}/{offset}", "/"), ("/user/activity/{id}", "/"), ("/user/follow/{id}", "/"), ("/user/unfollow/{id}", "/"), ("/user/followers/{id:.*}", "/"), ("/user/delete/{id}", "/"), ("/user/reset/{id:.*}", "/"), ("/user/register", "/"), ("/user/reset", "/"), ("/user/set_lang/{lang}", "/"), ("/user", "/"), ("/user/_logout", "/logout"), ("/user/logged_out_redirect", "/"), ("/salir", "/logout"), ) def remove_tags(self): self.redirect(("/tag", "/"), ("/tag/{url}", "/")) def remove_revision(self): self.redirect( ("/revision", "/"), ("/revision/list", "/"), ("/revision/edit/{id}", "/revision"), ("/revision/diff/{id}", "/revision"), ("/revision/{id}", "/revision"), ) def connect_api(self): with SubMapper(self.route_map, controller=self.api_controller, path_prefix="/api{ver:/3|}", ver="/3") as m: m.connect("/action/{logic_function}", action="action", conditions=dict(method=["GET", "POST"])) def connectThemeTaxonomy(self): self.home_routes.connect("/superThemeTaxonomy.json", action="theme_taxonomy")
def before_map(self, map): m = SubMapper(map, controller='ckanext.hiroshima.controllers.home:\ HiroshimaHomeController') # Connect routes for usepolicy m.connect( 'home.usepolicy', '/usepolicy', #route,URL,action action="usePolicy") m.connect('home.opinion', '/opinion', action="opinion") m.connect('home.about-use', '/about-use', action="aboutUse") m.connect('home.index', '/', action="index") # /user/register map.connect( '/user/register', controller= 'ckanext.hiroshima.controllers.user:HiroshimaUserController', action='register') # /dataset/data-request map.connect( 'package.data-request', '/dataset/{id}/resource/{resource_id}/data-request', controller= 'ckanext.hiroshima.controllers.package:HiroshimaPackageController', action='dataRequest') # /dataset/questionnaire map.connect( 'package.questionnaire', '/dataset/{id}/resource/{resource_id}/questionnaire', controller= 'ckanext.hiroshima.controllers.package:HiroshimaPackageController', action='questionnaire') # /dataset/meta-data-request map.connect( 'package.meta-data-request', '/dataset/{id}/meta-data-request', controller= 'ckanext.hiroshima.controllers.package:HiroshimaPackageController', action='metaDataRequest', ckan_icon='pencil-square-o') # /dataset/request-list map.connect( 'package.request-list', '/dataset/request-list/{id}', controller= 'ckanext.hiroshima.controllers.package:HiroshimaPackageController', action='requestList', ckan_icon='list') # /dataset/complete map.connect( 'package.complete', '/dataset/complete/{token}', controller= 'ckanext.hiroshima.controllers.package:HiroshimaPackageController', action='complete') # /dataset/complete-request map.connect( 'package.complete-request', '/dataset/{id}/resource/{resource_id}/complete-request', controller= 'ckanext.hiroshima.controllers.package:HiroshimaPackageController', action='completeRequest') # /fiware map.connect( 'fiware', '/fiware/{type}/{id}/{attrName}', controller= 'ckanext.hiroshima.controllers.package:HiroshimaPackageController', action='fiware') return map
class GobArRouter: def __init__(self, route_map): self.route_map = route_map self.home_controller = 'ckanext.gobar_theme.controller:GobArHomeController' self.home_routes = SubMapper(self.route_map, controller=self.home_controller) self.api_controller = 'ckanext.gobar_theme.controller:GobArApiController' def redirect(self, *routes): for url_from, url_to in routes: self.route_map.redirect(url_from, url_to) def set_routes(self): self.connect_home() self.connect_static() self.connect_datasets() self.connect_organizations() self.connect_groups() self.connect_users() self.remove_dashboard() self.remove_tags() self.remove_revision() self.connect_api() def connect_home(self): self.home_routes.connect('/', action='index') def connect_static(self): self.home_routes.connect('gobar_open_data', '/datos-abiertos', action='open_data') self.home_routes.connect('gobar_legal', '/marco-legal', action='legal') self.home_routes.connect('gobar_platform', '/plataforma', action='platform') self.redirect( ('/about', '/datos-abiertos') ) def connect_datasets(self): self.route_map.connect('/dataset/{id}/archivo/{resource_id}', action='resource_read', controller='package') self.redirect( ('/dataset/history/{id:.*?}', '/dataset/{id}'), ('/dataset/activity/{id:.*?}', '/dataset/{id}'), ('/dataset/groups/{id:.*?}', '/dataset/{id}'), ('/dataset/followers/{id:.*?}', '/dataset/{id}'), ('/dataset/{id}/resource/{resource_id}', '/dataset/{id}/archivo/{resource_id}') ) def remove_dashboard(self): self.redirect( ('/dashboard', '/'), ('/dashboard/datasets', '/'), ('/dashboard/groups', '/'), ('/dashboard/organizations', '/'), ('/dashboard/{url:.*?}', '/dashboard') ) def connect_organizations(self): self.route_map.connect('/organizaciones', action='index', controller='organization') self.route_map.connect('/organization/new', action='new', controller='organization') self.redirect( ('/organization', '/organizaciones'), ('/organization/list', '/organization'), ('/organization/{id}', '/organization/list'), ('/organization/activity/{id}/{offset}', '/organization/list'), ('/organization/about/{id}', '/organization/list'), ('/organization/admins/{id}', '/organization/list'), ('/organization/members/{id}', '/organization/list'), ('/organization/member_new/{id}', '/organization/list'), ('/organization/member_delete/{id}', '/organization/list'), ('/organization/history/{id}', '/organization/list'), ('/organization/bulk_process/{id}', '/organization/list') ) def connect_groups(self): self.route_map.connect('group_new', '/group/new', action='new', controller='group') self.redirect( ('/group', '/'), ('/group/list', '/'), ('/group/{id}', '/group/list'), ('/group/about/{id}', '/group/list'), ('/group/members/{id}', '/group/list'), ('/group/member_new/{id}', '/group/list'), ('/group/member_delete/{id}', '/group/list'), ('/group/history/{id}', '/group/list'), ('/group/followers/{id}', '/group/list'), ('/group/follow/{id}', '/group/list'), ('/group/unfollow/{id}', '/group/list'), ('/group/admins/{id}', '/group/list'), ('/group/activity/{id}/{offset}', '/group/list') ) def connect_users(self): self.route_map.connect('login', '/635511788', action='login', controller='user') self.route_map.connect('/logout', action='logout', controller='user') self.redirect( ('/user/login', '/'), ('/user/generate_key/{id}', '/'), ('/user/activity/{id}/{offset}', '/'), ('/user/activity/{id}', '/'), ('/user/follow/{id}', '/'), ('/user/unfollow/{id}', '/'), ('/user/followers/{id:.*}', '/'), ('/user/delete/{id}', '/'), ('/user/reset/{id:.*}', '/'), ('/user/register', '/'), ('/user/reset', '/'), ('/user/set_lang/{lang}', '/'), ('/user', '/'), ('/user/_logout', '/logout'), ('/user/logged_out_redirect', '/'), ('/salir', '/logout') ) def remove_tags(self): self.redirect( ('/tag', '/'), ('/tag/{url}', '/') ) def remove_revision(self): self.redirect( ('/revision', '/'), ('/revision/list', '/'), ('/revision/edit/{id}', '/revision'), ('/revision/diff/{id}', '/revision'), ('/revision/{id}', '/revision') ) def connect_api(self): with SubMapper(self.route_map, controller=self.api_controller, path_prefix='/api{ver:/3|}', ver='/3') as m: m.connect('/action/{logic_function}', action='action', conditions=dict(method=['GET', 'POST']))
class GobArRouter: def __init__(self, route_map): self.route_map = route_map self.home_controller = 'ckanext.gobar_theme.controller:GobArHomeController' self.home_routes = SubMapper(self.route_map, controller=self.home_controller) self.api_controller = 'ckanext.gobar_theme.controller:GobArApiController' self.package_controller = 'ckanext.gobar_theme.package_controller:GobArPackageController' self.config_controller = 'ckanext.gobar_theme.config_controller:GobArConfigController' self.user_controller = 'ckanext.gobar_theme.user_controller:GobArUserController' self.google_analytics_controller = 'ckanext.gobar_theme.google_analytics_controller:GobArGAController' self.spatial_controller = 'ckanext.gobar_theme.spatial_controller:GobArSpatialController' self.datajson_controller = 'ckanext.gobar_theme.datajson_controller:GobArDatajsonController' def redirect(self, *routes): for url_from, url_to in routes: self.route_map.redirect(url_from, url_to) def set_routes(self): self.connect_home() self.connect_static() self.connect_section() self.connect_datasets() self.connect_organizations() self.connect_groups() self.connect_apis() self.connect_users() self.remove_dashboard() self.remove_tags() self.remove_revision() # self.remove_admin() self.connect_api() self.connect_template_config() self.connect_google_analytics() self.connect_spatial() self.connect_datajson() self.connect_super_theme_taxonomy() def connect_home(self): self.home_routes.connect('/', action='index') def connect_super_theme_taxonomy(self): self.home_routes.connect('/superThemeTaxonomy.json', action='super_theme_taxonomy') def connect_static(self): self.home_routes.connect('gobar_about', '/acerca', action='about') self.home_routes.connect('gobar_about_ckan', '/acerca/ckan', action='about_ckan') self.redirect(('/about', '/acerca')) def connect_section(self): self.home_routes.connect('section', '/acerca/seccion/{title}', action='view_about_section') def connect_google_analytics(self): with SubMapper(self.route_map, controller=self.google_analytics_controller) as m: m.connect('resource view embed', '/dataset/resource_view_embed/{resource_id}', action='resource_view_embed') def connect_spatial(self): with SubMapper(self.route_map, controller=self.spatial_controller) as m: m.connect('countries', '/spatial/paises', action='paises'), m.connect('provinces', '/spatial/provincias', action='provincias'), m.connect('districts', '/spatial/localidades', action='localidades'), m.connect('districts', '/spatial/localidades/{province_id}', action='localidades'), m.connect('districts', '/spatial/municipios', action='municipios'), m.connect('districts', '/spatial/municipios/{province_id}', action='municipios'), def connect_apis(self): self.home_routes.connect('gobar_apis', '/apis', action='apis') self.redirect(('/apis', '/apis'), ) def connect_datasets(self): with SubMapper(self.route_map, controller=self.package_controller) as m: m.connect('search', '/dataset', action='search', highlight_actions='index search') m.connect('add dataset', '/dataset/new', action='new') m.connect('edit dataset', '/dataset/edit/{id}', action='edit') m.connect('delete dataset', '/dataset/delete/{id}', action='delete') m.connect('new resource', '/dataset/new_resource/{id}', action='new_resource') m.connect('edit resource', '/dataset/{id}/resource_edit/{resource_id}', action='resource_edit') m.connect('delete resource', '/dataset/{id}/resource_delete/{resource_id}', action='resource_delete') self.route_map.connect('/dataset/{id}/archivo/{resource_id}', action='resource_read', controller='package') self.redirect(('/dataset/history/{id:.*?}', '/dataset/{id}'), ('/dataset/activity/{id:.*?}', '/dataset/{id}'), ('/dataset/groups/{id:.*?}', '/dataset/{id}'), ('/dataset/followers/{id:.*?}', '/dataset/{id}'), ('/dataset/{id}/resource/{resource_id}', '/dataset/{id}/archivo/{resource_id}')) def remove_dashboard(self): self.redirect(('/dashboard', '/'), ('/dashboard/datasets', '/'), ('/dashboard/groups', '/'), ('/dashboard/organizations', '/'), ('/dashboard/{url:.*?}', '/dashboard')) def connect_organizations(self): self.route_map.connect('/organizaciones', action='index', controller='organization') self.route_map.connect('/organization/new', action='new', controller='organization') self.redirect( ('/organization', '/organizaciones'), ('/organization/list', '/organization'), ('/organization/{id}', '/organization/list'), ('/organization/activity/{id}/{offset}', '/organization/list'), ('/organization/about/{id}', '/organization/list'), ('/organization/admins/{id}', '/organization/list'), ('/organization/members/{id}', '/organization/list'), ('/organization/member_new/{id}', '/organization/list'), ('/organization/member_delete/{id}', '/organization/list'), ('/organization/history/{id}', '/organization/list'), ('/organization/bulk_process/{id}', '/organization/list')) def connect_groups(self): self.route_map.connect('group_new', '/group/new', action='new', controller='group') self.redirect(('/group', '/'), ('/group/list', '/'), ('/group/{id}', '/group/list'), ('/group/about/{id}', '/group/list'), ('/group/members/{id}', '/group/list'), ('/group/member_new/{id}', '/group/list'), ('/group/member_delete/{id}', '/group/list'), ('/group/history/{id}', '/group/list'), ('/group/followers/{id}', '/group/list'), ('/group/follow/{id}', '/group/list'), ('/group/unfollow/{id}', '/group/list'), ('/group/admins/{id}', '/group/list'), ('/group/activity/{id}/{offset}', '/group/list')) def connect_users(self): self.route_map.connect('/logout', action='logout', controller='user') with SubMapper(self.route_map, controller=self.user_controller) as m: m.connect('/borradores', action="drafts") m.connect('/user/reset/{user_id}', action="password_reset") m.connect('user_datasets', '/user/{id:.*}', action='read') m.connect('login', '/ingresar', action='login') m.connect('/olvide_mi_contraseña', action="password_forgot") m.connect('/configurar/mi_cuenta', action="my_account") m.connect('/configurar/mi_cuenta/cambiar_email', action="my_account_edit_email") m.connect('/configurar/mi_cuenta/cambiar_contraseña', action="my_account_edit_password") m.connect('/configurar/crear_usuarios', action="create_users") m.connect('/configurar/editar_usuario', action="edit_user") m.connect('/configurar/borrar_usuario', action="delete_user") m.connect('/configurar/historial', action="user_history") m.connect('/configurar/historial.json', action="user_history_json") self.redirect( ('/user/login', '/'), ('/user/generate_key/{id}', '/'), ('/user/activity/{id}/{offset}', '/'), ('/user/activity/{id}', '/'), ('/user/follow/{id}', '/'), ('/user/unfollow/{id}', '/'), ('/user/followers/{id:.*}', '/'), ('/user/delete/{id}', '/'), ('/user/register', '/'), ('/user/reset', '/'), ('/user/set_lang/{lang}', '/'), ('/user', '/'), ('/user/_logout', '/logout'), ('/user/logged_out_redirect', '/'), ('/salir', '/logout')) def remove_tags(self): self.redirect(('/tag', '/'), ('/tag/{url}', '/')) def remove_revision(self): self.redirect(('/revision', '/'), ('/revision/list', '/'), ('/revision/edit/{id}', '/revision'), ('/revision/diff/{id}', '/revision'), ('/revision/{id}', '/revision')) def remove_admin(self): self.redirect(('/ckan-admin', '/'), ('/ckan-admin/config', '/'), ('/ckan-admin/trash', '/'), ('/ckan-admin/{action}', '/')) def connect_api(self): with SubMapper(self.route_map, controller=self.api_controller, path_prefix='/api{ver:/3|}', ver='/3') as m: m.connect('/action/{logic_function}', action='action', conditions=dict(method=['GET', 'POST'])) m.connect('/util/status', action='status') def connect_template_config(self): with SubMapper(self.route_map, controller=self.config_controller) as m: m.connect('/configurar/titulo', action='edit_title') m.connect('/configurar/portada', action='edit_home') m.connect('/configurar/encabezado', action='edit_header') m.connect('/configurar/temas', action='edit_groups') m.connect('/configurar/redes', action='edit_social') m.connect('/configurar/pie-de-pagina', action='edit_footer') m.connect('/configurar/datasets', action='edit_datasets') m.connect('/configurar/organizaciones', action='edit_organizations') m.connect('/configurar/acerca', action='edit_about') m.connect('/configurar/apis', action='edit_apis') m.connect('/configurar/metadata/google_fb', action='edit_metadata_google_fb') m.connect('/configurar/metadata/tw', action='edit_metadata_tw') m.connect('/configurar/metadata/portal', action='edit_metadata_portal') m.connect('/configurar/mensaje_de_bienvenida', action='edit_greetings') m.connect('/configurar/series', action='edit_series') self.redirect(('/configurar', '/configurar/titulo'), ('/configurar', '/configurar/metadata')) def connect_datajson(self): with SubMapper(self.route_map, controller=self.datajson_controller) as m: m.connect('datajson', '/data.json', action='datajson') self.redirect(('/datajson', '/datajson'), ) disable_catalog_xlsx_url = config.get( 'andino.disable_catalog_xlsx_url') if disable_catalog_xlsx_url in ( 'True', 'true', '1', 'Yes', 'yes', ): self.redirect( ('/catalog.xlsx', '/'), # Redirecciono a la home ) else: with SubMapper(self.route_map, controller=self.datajson_controller) as m: m.connect('catalog_xlsx', '/catalog.xlsx', action='catalog_xlsx')
class GobArRouter: def __init__(self, route_map): self.route_map = route_map self.home_controller = 'ckanext.gobar_theme.controller:GobArHomeController' self.home_routes = SubMapper(self.route_map, controller=self.home_controller) self.api_controller = 'ckanext.gobar_theme.controller:GobArApiController' self.package_controller = 'ckanext.gobar_theme.package_controller:GobArPackageController' self.config_controller = 'ckanext.gobar_theme.config_controller:GobArConfigController' def redirect(self, *routes): for url_from, url_to in routes: self.route_map.redirect(url_from, url_to) def set_routes(self): self.connect_home() self.connect_static() self.connect_datasets() self.connect_organizations() self.connect_groups() self.connect_users() self.remove_dashboard() self.remove_tags() self.remove_revision() self.connect_api() self.connect_template_config() def connect_home(self): self.home_routes.connect('/', action='index') def connect_static(self): self.home_routes.connect('gobar_about', '/about', action='about') self.redirect(('/about', '/about')) def connect_datasets(self): with SubMapper(self.route_map, controller=self.package_controller) as m: m.connect('search', '/dataset', action='search', highlight_actions='index search') m.connect('add dataset', '/dataset/new', action='new') self.route_map.connect('/dataset/{id}/archive/{resource_id}', action='resource_read', controller='package') self.redirect(('/dataset/history/{id:.*?}', '/dataset/{id}'), ('/dataset/activity/{id:.*?}', '/dataset/{id}'), ('/dataset/groups/{id:.*?}', '/dataset/{id}'), ('/dataset/followers/{id:.*?}', '/dataset/{id}'), ('/dataset/{id}/resource/{resource_id}', '/dataset/{id}/archive/{resource_id}')) def remove_dashboard(self): self.redirect(('/dashboard', '/'), ('/dashboard/datasets', '/'), ('/dashboard/groups', '/'), ('/dashboard/organizations', '/'), ('/dashboard/{url:.*?}', '/dashboard')) def connect_organizations(self): self.route_map.connect('/organization', action='index', controller='organization') self.route_map.connect('/organization/new', action='new', controller='organization') self.redirect( ('/organization', '/organization'), ('/organization/list', '/organization'), ('/organization/{id}', '/organization/list'), ('/organization/activity/{id}/{offset}', '/organization/list'), ('/organization/about/{id}', '/organization/list'), ('/organization/admins/{id}', '/organization/list'), ('/organization/members/{id}', '/organization/list'), ('/organization/member_new/{id}', '/organization/list'), ('/organization/member_delete/{id}', '/organization/list'), ('/organization/history/{id}', '/organization/list'), ('/organization/bulk_process/{id}', '/organization/list')) def connect_groups(self): self.route_map.connect('group_new', '/group/new', action='new', controller='group') self.redirect(('/group', '/'), ('/group/list', '/'), ('/group/{id}', '/group/list'), ('/group/about/{id}', '/group/list'), ('/group/members/{id}', '/group/list'), ('/group/member_new/{id}', '/group/list'), ('/group/member_delete/{id}', '/group/list'), ('/group/history/{id}', '/group/list'), ('/group/followers/{id}', '/group/list'), ('/group/follow/{id}', '/group/list'), ('/group/unfollow/{id}', '/group/list'), ('/group/admins/{id}', '/group/list'), ('/group/activity/{id}/{offset}', '/group/list')) def connect_users(self): self.route_map.connect('login', '/login', action='login', controller='user') self.route_map.connect('/logout', action='logout', controller='user') self.route_map.connect( 'user_datasets', '/user/{id:.*}', action='read', controller='ckanext.gobar_theme.controller:GobArUserController') self.redirect( ('/user/login', '/'), ('/user/generate_key/{id}', '/'), ('/user/activity/{id}/{offset}', '/'), ('/user/activity/{id}', '/'), ('/user/follow/{id}', '/'), ('/user/unfollow/{id}', '/'), ('/user/followers/{id:.*}', '/'), ('/user/delete/{id}', '/'), ('/user/reset/{id:.*}', '/'), ('/user/register', '/'), ('/user/reset', '/'), ('/user/set_lang/{lang}', '/'), ('/user', '/'), ('/user/_logout', '/logout'), ('/user/logged_out_redirect', '/'), ('/salir', '/logout')) def remove_tags(self): self.redirect(('/tag', '/'), ('/tag/{url}', '/')) def remove_revision(self): self.redirect(('/revision', '/'), ('/revision/list', '/'), ('/revision/edit/{id}', '/revision'), ('/revision/diff/{id}', '/revision'), ('/revision/{id}', '/revision')) def connect_api(self): with SubMapper(self.route_map, controller=self.api_controller, path_prefix='/api{ver:/3|}', ver='/3') as m: m.connect('/action/{logic_function}', action='action', conditions=dict(method=['GET', 'POST'])) def connect_template_config(self): with SubMapper(self.route_map, controller=self.config_controller) as m: m.connect('/config/titulo', action='edit_title') m.connect('/config/portada', action='edit_home') m.connect('/config/encabezado', action='edit_header') m.connect('/config/temas', action='edit_groups') m.connect('/config/redes', action='edit_social') m.connect('/config/pie-de-pagina', action='edit_footer') m.connect('/config/datasets', action='edit_datasets') m.connect('/config/organization', action='edit_organization') m.connect('/config/about', action='edit_about') m.connect('/config/metadata/google_fb', action='edit_metadata_google_fb') m.connect('/config/metadata/tw', action='edit_metadata_tw') m.connect('/config/mensaje_de_bienvenida', action='edit_greetings') self.redirect(('/config', '/config/titulo'), ('/config', '/config/metadata'))
class GobArRouter: def __init__(self, route_map): self.route_map = route_map self.home_controller = 'ckanext.gobar_theme.controller:GobArHomeController' self.home_routes = SubMapper(self.route_map, controller=self.home_controller) self.api_controller = 'ckanext.gobar_theme.controller:GobArApiController' def redirect(self, *routes): for url_from, url_to in routes: self.route_map.redirect(url_from, url_to) def set_routes(self): self.connect_home() self.connect_static() self.connect_datasets() self.connect_organizations() self.connect_groups() self.connect_apis() self.connect_users() self.remove_dashboard() self.remove_tags() self.remove_revision() #self.remove_admin() self.connect_api() self.connectThemeTaxonomy() self.connect_error_pages() def connect_home(self): self.home_routes.connect('/', action='index') def connect_static(self): self.home_routes.connect('gobar_our_site', '/acerca/nuestro-portal', action='about_our_site') self.home_routes.connect('gobar_legal', '/acerca/marco-legal', action='about_legal') self.home_routes.connect('gobar_devs', '/acerca/ckan', action='about_ckan') self.home_routes.connect('gobar_glossary', '/acerca/glosario', action='about_glossary') self.redirect(('/acerca', '/acerca/nuestro-portal'), ('/about', '/acerca/nuestro-portal')) def connect_apis(self): self.home_routes.connect('gobar_apis', '/apis', action='apis') self.redirect(('/apis', '/apis'), ) def connect_datasets(self): with SubMapper(self.route_map, controller='package') as m: m.connect('search', '/dataset', action='search', highlight_actions='index search') m.connect('add dataset', '/dataset/new', action='new') m.connect('edit dataset', '/dataset/edit/{id}', action='edit') m.connect('new resource', '/dataset/new_resource/{id}', action='new_resource') self.route_map.connect('/dataset/{id}/archivo/{resource_id}', action='resource_read', controller='package') self.redirect(('/dataset/history/{id:.*?}', '/dataset/{id}'), ('/dataset/activity/{id:.*?}', '/dataset/{id}'), ('/dataset/groups/{id:.*?}', '/dataset/{id}'), ('/dataset/followers/{id:.*?}', '/dataset/{id}'), ('/dataset/{id}/resource/{resource_id}', '/dataset/{id}/archivo/{resource_id}')) def remove_dashboard(self): self.redirect(('/dashboard', '/'), ('/dashboard/datasets', '/'), ('/dashboard/groups', '/'), ('/dashboard/organizations', '/'), ('/dashboard/{url:.*?}', '/dashboard')) def connect_organizations(self): self.route_map.connect('/organizaciones', action='index', controller='organization') self.route_map.connect('/organization/new', action='new', controller='organization') self.redirect( ('/organization', '/organizaciones'), ('/organization/list', '/organization'), ('/organization/{id}', '/organization/list'), ('/organization/activity/{id}/{offset}', '/organization/list'), ('/organization/about/{id}', '/organization/list'), ('/organization/admins/{id}', '/organization/list'), ('/organization/members/{id}', '/organization/list'), ('/organization/member_new/{id}', '/organization/list'), ('/organization/member_delete/{id}', '/organization/list'), ('/organization/history/{id}', '/organization/list'), ('/organization/bulk_process/{id}', '/organization/list')) def connect_groups(self): self.route_map.connect('group_new', '/group/new', action='new', controller='group') self.redirect(('/group', '/'), ('/group/list', '/'), ('/group/{id}', '/group/list'), ('/group/about/{id}', '/group/list'), ('/group/members/{id}', '/group/list'), ('/group/member_new/{id}', '/group/list'), ('/group/member_delete/{id}', '/group/list'), ('/group/history/{id}', '/group/list'), ('/group/followers/{id}', '/group/list'), ('/group/follow/{id}', '/group/list'), ('/group/unfollow/{id}', '/group/list'), ('/group/admins/{id}', '/group/list'), ('/group/activity/{id}/{offset}', '/group/list')) def connect_users(self): self.route_map.connect('login', '/ingresar', action='login', controller='user') self.route_map.connect('/logout', action='logout', controller='user') self.route_map.connect( 'user_datasets', '/user/{id:.*}', action='read', controller='ckanext.gobar_theme.controller:GobArUserController') self.redirect( ('/ingresar', '/user/login'), ('/user/login', '/'), ('/user/generate_key/{id}', '/'), ('/user/activity/{id}/{offset}', '/'), ('/user/activity/{id}', '/'), ('/user/follow/{id}', '/'), ('/user/unfollow/{id}', '/'), ('/user/followers/{id:.*}', '/'), ('/user/delete/{id}', '/'), ('/user/reset/{id:.*}', '/'), ('/user/register', '/'), ('/user/reset', '/'), ('/user/set_lang/{lang}', '/'), ('/user', '/'), ('/user/_logout', '/logout'), ('/user/logged_out_redirect', '/'), ('/salir', '/logout')) def remove_tags(self): self.redirect(('/tag', '/'), ('/tag/{url}', '/')) def remove_revision(self): self.redirect(('/revision', '/'), ('/revision/list', '/'), ('/revision/edit/{id}', '/revision'), ('/revision/diff/{id}', '/revision'), ('/revision/{id}', '/revision')) def remove_admin(self): self.redirect(('/ckan-admin', '/'), ('/ckan-admin/config', '/'), ('/ckan-admin/trash', '/'), ('/ckan-admin/{action}', '/')) def connect_api(self): with SubMapper(self.route_map, controller=self.api_controller, path_prefix='/api{ver:/3|}', ver='/3') as m: m.connect('/action/{logic_function}', action='action', conditions=dict(method=['GET', 'POST'])) def connectThemeTaxonomy(self): self.home_routes.connect('/superThemeTaxonomy.json', action='theme_taxonomy') def connect_error_pages(self): self.home_routes.connect('technical_problems', '/problemas-tecnicos', action='technical_problems') self.home_routes.connect('server_overload', '/muchas-visitas', action='server_overload') self.home_routes.connect('upgrading_server', '/mejorando-el-sitio', action='upgrading_server')
def before_map(self, mapper): from routes.mapper import SubMapper controller_map = SubMapper( mapper, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI') m = SubMapper(controller_map, path_prefix="/" + constants.DATAREQUESTS_MAIN_PATH) # Data Requests index m.connect('datarequests_index', '', action='index', conditions={'method': ['GET']}) m.connect('datarequest.index', '', action='index', conditions={'method': ['GET']}) # Create a Data Request m.connect('datarequest.new', '/new', action='new', conditions={'method': ['GET', 'POST']}) # Show a Data Request m.connect('show_datarequest', '/{id}', action='show', conditions={'method': ['GET']}, ckan_icon=common.get_question_icon()) m.connect('datarequest.show', '/{id}', action='show', conditions={'method': ['GET']}, ckan_icon=common.get_question_icon()) # Update a Data Request m.connect('datarequest.update', '/edit/{id}', action='update', conditions={'method': ['GET', 'POST']}) # Delete a Data Request m.connect('datarequest.delete', '/delete/{id}', action='delete', conditions={'method': ['POST']}) # Close a Data Request m.connect('datarequest.close', '/close/{id}', action='close', conditions={'method': ['GET', 'POST']}) # Follow & Unfollow m.connect('datarequest.follow', '/follow/{id}', action='follow', conditions={'method': ['POST']}) m.connect('datarequest.unfollow', '/unfollow/{id}', action='unfollow', conditions={'method': ['POST']}) if self.comments_enabled: # Comment, update and view comments (of) a Data Request m.connect('comment_datarequest', '/comment/{id}', action='comment', conditions={'method': ['GET', 'POST']}, ckan_icon='comment') m.connect('datarequest.comment', '/comment/{id}', action='comment', conditions={'method': ['GET', 'POST']}, ckan_icon='comment') # Delete data request m.connect('datarequest.delete_comment', '/comment/{datarequest_id}/delete/{comment_id}', action='delete_comment', conditions={'method': ['GET', 'POST']}) list_datarequests_map = SubMapper(controller_map, conditions={'method': ['GET']}, ckan_icon=common.get_question_icon()) # Data Requests that belong to an organization list_datarequests_map.connect('organization_datarequests', '/organization/%s/{id}' % constants.DATAREQUESTS_MAIN_PATH, action='organization_datarequests') list_datarequests_map.connect('datarequest.organization', '/organization/%s/{id}' % constants.DATAREQUESTS_MAIN_PATH, action='organization_datarequests') # Data Requests that belong to a user list_datarequests_map.connect('user_datarequests', '/user/%s/{id}' % constants.DATAREQUESTS_MAIN_PATH, action='user_datarequests') list_datarequests_map.connect('datarequest.user', '/user/%s/{id}' % constants.DATAREQUESTS_MAIN_PATH, action='user_datarequests') return mapper