def before_map(self, map): map.connect('/testing/assertfalse', controller='ckanext.cdrc.plugin:CDRCExtController', action='assertfalse') map.connect('blog', '/blog', controller='ckanext.cdrc.controllers.page:CDRCBlogController', action='blog_proxy') map.connect('tutorial', '/tutorial', controller='ckanext.cdrc.controllers.page:CDRCPageController', action='index', pkg_tag='tutorial') map.connect('dataset', '/dataset', controller='package', action='search') map.connect('national', '/national', controller='ckanext.cdrc.controllers.singlegroup:SingleGroupController', action='read_national') map.connect('regional', '/regional', controller='ckanext.cdrc.controllers.singlegroup:SingleGroupController', action='read_regional') with SubMapper(map, controller='ckanext.cdrc.controllers.page:CDRCPageController') as m: m.connect('/{pkg_tag}/{pkg_id}/{page_id}', action='page_show', requirements={'pkg_tag': 'tutorial'}) m.connect('/{pkg_tag}/{pkg_id}', action='page_list', requirements={'pkg_tag': 'tutorial'}) with SubMapper(map, controller='ckanext.cdrc.controllers.organization_admin:CDRCOrgAdminController') as m: m.connect('organization_format_review', '/organization/format_review/{id}', action='format_review', ckan_icon='check') m.connect('organization_disclosure_review', '/organization/disclosure_review/{id}', action='disclosure_review', ckan_icon='legal') m.connect('organization_admin', '/cdrc_admin', action='cdrc_admin') with SubMapper(map, controller='ckanext.cdrc.controllers.webadmin:WebAdminController') as m: m.connect('webadmin_config', '/webadmin/config', action='config', ckan_icon='check') m.connect('/webadmin/stat_csv/{code}', action='stat_csv') m.connect('webadmin_stat', '/webadmin/stat_csv_view', action='stat_csv_view', ckan_icon='table') map.redirect('/user/me', '/cdrc_admin') return map
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 before_map(self, map): map.connect( 'sitemap', '/sitemap', controller='ckanext.danepubliczne.controllers.home:HomeController', action='sitemap') map.connect('ckanadmin_config', '/ckan-admin/config', controller='admin', action='config', ckan_icon='check') with SubMapper( map, controller= 'ckanext.danepubliczne.controllers.user:UserController') as m: m.connect('user_dashboard_search_history', '/dashboard/search_history', action='dashboard_search_history', ckan_icon='list') m.connect('user_dashboard_account', '/dashboard/account', action='read', ckan_icon='user_grey') with SubMapper(map, controller='package') as m: m.connect('dataset_search', '/dataset', action='search', highlight_actions='index search') m.connect('jupload_resource', '/dataset/jupload_resource/{id}', action='jupload_resource') m.connect('download', '/dataset/download', action='download') m.connect('upload', '/application/upload', action='upload') map.connect( 'data_feedback_submit', '/feedback_data', controller= 'ckanext.danepubliczne.controllers.feedback:FeedbackController', action='data_feedback') map.connect( 'new_dataset_feedback_submit', '/new_dataset_feedback', controller= 'ckanext.danepubliczne.controllers.feedback:FeedbackController', action='new_dataset_feedback') with SubMapper(map, controller= 'ckanext.danepubliczne.controllers.api:UtilExtension', path_prefix='/api{ver:/1|/2|}', ver='/1') as m: m.connect('/util/user/autocomplete_email', action='user_autocomplete_email') return map
def before_map(self, _map): try: #log.debug("before_map") with SubMapper( _map, controller='ckanext.csc.controllers:CscController') as m: m.connect('dashboarddata', '/dashboarddata', action='dashboarddata') m.connect('most_visited_datasets_csv', '/csv-download/most-visited-datasets', action='most_visited_datasets_csv') with SubMapper(_map, controller='error') as m: m.connect('group_about', '/group/about/{id}', action='about', ckan_icon='info-circle') m.connect('group_followers', '/group/followers/{id}', action='followers') m.connect('group_follow', '/group/follow/{id}', action='follow') m.connect('group_unfollow', '/group/unfollow/{id}', action='unfollow') with SubMapper(_map, controller='error') as m: m.connect('organization_about', '/organization/about/{id}', action='about', ckan_icon='info-circle') with SubMapper(_map, controller='error') as m: m.connect('dataset_followers', '/dataset/followers/{id}', action='followers') m.connect('dataset_follow', '/dataset/follow/{id}', action='follow') m.connect('dataset_unfollow', '/dataset/unfollow/{id}', action='unfollow') with SubMapper(_map, controller='error') as m: m.connect('stats', '/stats', action='index') m.connect('stats_action', '/stats/{action}') #other hidding pages _map.redirect('/', '/dataset') except Exception as e: log.warn("MAP Before_map exception %r: %r:", type(e), e.message) #log.warning("CSC-map=%r", _map.__str__()) return _map
def before_map(self, map): '''Add new routes that this extension's controllers handle. See IRoutes. ''' # Helpers to reduce code clutter GET = dict(method=['GET']) PUT = dict(method=['PUT']) POST = dict(method=['POST']) DELETE = dict(method=['DELETE']) GET_POST = dict(method=['GET', 'POST']) # intercept API calls that we want to capture analytics on register_list = [ 'package', 'dataset', 'resource', 'tag', 'group', 'related', 'revision', 'licenses', 'rating', 'user', 'activity' ] register_list_str = '|'.join(register_list) # /api ver 3 or none with SubMapper(map, controller='ckanext.googleanalytics.controller:GAApiController', path_prefix='/api{ver:/3|}', ver='/3') as m: m.connect('/action/{logic_function}', action='action', conditions=GET_POST) # /api ver 1, 2, 3 or none with SubMapper(map, controller='ckanext.googleanalytics.controller:GAApiController', path_prefix='/api{ver:/1|/2|/3|}', ver='/1') as m: m.connect('/search/{register}', action='search') # /api/rest ver 1, 2 or none with SubMapper(map, controller='ckanext.googleanalytics.controller:GAApiController', path_prefix='/api{ver:/1|/2|}', ver='/1', requirements=dict(register=register_list_str) ) as m: m.connect('/rest/{register}', action='list', conditions=GET) m.connect('/rest/{register}', action='create', conditions=POST) m.connect('/rest/{register}/{id}', action='show', conditions=GET) m.connect('/rest/{register}/{id}', action='update', conditions=PUT) m.connect('/rest/{register}/{id}', action='update', conditions=POST) m.connect('/rest/{register}/{id}', action='delete', conditions=DELETE) with SubMapper(map, controller='ckanext.googleanalytics.controller:GAResourceController') as m: m.connect('/dataset/{id}/resource/{resource_id}/download', action='resource_download') m.connect('/dataset/{id}/resource/{resource_id}/download/{filename}', action='resource_download') return map
def before_map(self, map): map.connect('/api/i18n/{lang}', controller='ckanext.datagovmk.controller:ApiController', action='i18n_js_translations') map.connect( '/api/download/{package_id}/resources', controller='ckanext.datagovmk.controller:BulkDownloadController', action='download_resources_metadata') map.connect( '/api/download/{package_id}/metadata', controller='ckanext.datagovmk.controller:BulkDownloadController', action='download_package_metadata') # Override the resource download links, so we can count the number of downloads. with SubMapper( map, controller='ckanext.datagovmk.controller:DownloadController' ) as m: m.connect('resource_download', '/dataset/{id}/resource/{resource_id}/download', action='resource_download') m.connect( 'resource_download', '/dataset/{id}/resource/{resource_id}/download/{filename}', action='resource_download') m.connect('download_zip', '/download/zip/{zip_id}', action='download_zip') m.connect('search', '/dataset', action='search') # map user routes with SubMapper( map, controller= 'ckanext.datagovmk.controller:DatagovmkUserController') as m: m.connect('register', '/user/register', action='datagovmk_register') m.connect('/user/activate/{id:.*}', action='perform_activation') map.connect( '/issues/report_site_issue', controller='ckanext.datagovmk.controller:ReportIssueController', action='report_issue_form') map.connect('/datastore/dump/{resource_id}', controller= 'ckanext.datagovmk.controller:OverrideDatastoreController', action='dump') map.connect('/stats', controller="ckanext.datagovmk.controller:StatsController", action="index") return map
def before_map(self, map): with SubMapper( map, controller= 'ckanext.sixodp_showcase.controller:Sixodp_ShowcaseController' ) as m: m.connect('ckanext_showcase_new', '/showcase/new', action='new') m.connect('ckanext_showcase_read', '/showcase/{id}', action='read', ckan_icon='picture') m.connect('ckanext_showcase_edit', '/showcase/edit/{id}', action='edit', ckan_icon='edit') m.connect('ckanext_showcase_index', '/showcase', action='search', highlight_actions='index search') m.connect('ckanext_showcase_admins', '/ckan-admin/showcase_admins', action='manage_showcase_admins', ckan_icon='picture'), with SubMapper( map, controller='ckanext.showcase.controller:ShowcaseController' ) as m: m.connect('ckanext_showcase_read', '/showcase/{id}', action='read', ckan_icon='picture') m.connect('ckanext_showcase_delete', '/showcase/delete/{id}', action='delete') m.connect('ckanext_showcase_manage_datasets', '/showcase/manage_datasets/{id}', action="manage_datasets", ckan_icon="sitemap") m.connect('dataset_showcase_list', '/dataset/showcases/{id}', action='dataset_showcase_list', ckan_icon='picture') # m.connect('ckanext_showcase_admins', '/ckan-admin/showcase_admins', # action='manage_showcase_admins', ckan_icon='picture'), m.connect('ckanext_showcase_admin_remove', '/ckan-admin/showcase_admin_remove', action='remove_showcase_admin') map.redirect('/showcases', '/showcase') map.redirect('/showcases/{url:.*}', '/showcase/{url}') return map
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'
def before_map(self, map): '''Connect our package controller to resource download action''' m = SubMapper( map, controller='ckanext.datagovsg_s3_resources.controllers.package:\ S3ResourcesPackageController') # Connect routes for resource download m.connect('resource_download', '/dataset/{id}/resource/{resource_id}/download', action="resource_download") return map
def after_map(self, mapping): INVENTORY_CONTROLLER = """ ckanext.inventory.controllers.inventory:InventoryController""" with SubMapper(mapping, controller=INVENTORY_CONTROLLER) as m: m.connect('inventory_index', '/inventory', action='index') m.connect('inventory_get_entries_csv', '/inventory/datagovro_entries', action='get_inventory_entries_csv') INVENTORY_ADMIN_CONTROLLER = """ ckanext.inventory.controllers.inventory_admin:InventoryAdminController""" with SubMapper(mapping, controller=INVENTORY_ADMIN_CONTROLLER) as m: m.connect('inventory_admin_index', '/inventory/admin', action='index') m.connect('inventory_activate_user', '/inventory/admin/activate_user/{user_id}', action='activate_user') INVENTORY_MANAGE_CONTROLLER = """ ckanext.inventory.controllers.inventory_manage:InventoryManageController""" mapping.connect('/inventory/manage', controller=INVENTORY_MANAGE_CONTROLLER, action='index') INVENTORY_ENTRY_CONTROLLER = """ ckanext.inventory.controllers.inventory_entry:InventoryEntryController""" with SubMapper(mapping, controller=INVENTORY_ENTRY_CONTROLLER) as m: m.connect('inventory_entry', '/organization/entry/{organization_name}', action='index') m.connect('inventory_entry_new', '/organization/entry/{organization_name}/new', action='new') m.connect('inventory_entry_bulk_new', '/organization/entry/{organization_name}/bulk_new', action='bulk_new') m.connect('inventory_entry_csv', '/organization/entry/{organization_name}/csv', action='csv') m.connect( 'inventory_entry_edit', '/organization/entry/{organization_name}/edit/{inventory_entry_id}', action='edit') m.connect( 'inventory_entry_read', '/organization/entry/{organization_name}/read/{inventory_entry_id}', action='read') return mapping
def before_map(self, map): disqus_controller = 'ckanext.bcgov.controllers.disqus:DisqusController' with SubMapper(map, controller=disqus_controller) as m: m.connect('/disqus/posts/create', action='disqusPostCreate') with SubMapper(map, controller=disqus_controller) as m: m.connect('/disqus/threads/get', action='disqusGetThread') with SubMapper(map, controller=disqus_controller) as m: m.connect('/disqus/posts/list', action='disqusGetPostsByThread') return map
def ga_enabled_routes_before_map(map): # Helpers to reduce code clutter GET = dict(method=['GET']) PUT = dict(method=['PUT']) POST = dict(method=['POST']) DELETE = dict(method=['DELETE']) GET_POST = dict(method=['GET', 'POST']) # intercept API calls that we want to capture analytics on register_list = [ 'package', 'dataset', 'resource', 'tag', 'group', 'related', 'revision', 'licenses', 'rating', 'user', 'activity' ] register_list_str = '|'.join(register_list) # /api ver 3 or none with SubMapper(map, controller=GA_API_CTRL, path_prefix='/api{ver:/3|}', ver='/3') as m: m.connect('/action/{logic_function}', action='action', conditions=GET_POST) # /api ver 1, 2, 3 or none with SubMapper(map, controller=GA_API_CTRL, path_prefix='/api{ver:/1|/2|/3|}', ver='/1') as m: m.connect('/search/{register}', action='search') # /api/rest ver 1, 2 or none with SubMapper(map, controller=GA_API_CTRL, path_prefix='/api{ver:/1|/2|}', ver='/1', requirements=dict(register=register_list_str)) as m: m.connect('/rest/{register}', action='list', conditions=GET) m.connect('/rest/{register}', action='create', conditions=POST) m.connect('/rest/{register}/{id}', action='show', conditions=GET) m.connect('/rest/{register}/{id}', action='update', conditions=PUT) m.connect('/rest/{register}/{id}', action='update', conditions=POST) m.connect('/rest/{register}/{id}', action='delete', conditions=DELETE) map.redirect("/stats/analytics/package/top", "/stats/analytics/dataset/top") map.connect('analytics', '/stats/analytics/dataset/top', controller=GA_CTRL, action='view')
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')
def before_map(self, map): copy_dict_controller = 'ckanext.duplicateresource.controller:DuplicateDictionaryController' with SubMapper(map, controller=copy_dict_controller) as m: m.connect('copy_data_dict', '/dataset/{id}/dictionary/{target}/copy', action='copy_data_dict') return map
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/titulo_login', action='edit_login_title') m.connect('/configurar/google_dataset_search', action='edit_google_dataset_search') m.connect('/configurar/datastore', action='edit_datastore_commands') m.connect('/configurar/google_tag_manager', action='edit_google_tag_manager') m.connect('/configurar/mensaje_de_bienvenida', action='edit_greetings') m.connect('/configurar/series', action='edit_series') m.connect('/configurar/mail_de_prueba', action="send_test_mail") self.redirect(('/configurar', '/configurar/titulo'), ('/configurar', '/configurar/metadata'))
def before_map(self, map): # These named routes are used for custom dataset forms which will use # the names below based on the dataset.type ('dataset' is the default # type) with SubMapper(map, controller='ckanext.mzp.controller:SourceController') as m: # m.connect('ckanext_showcase_index', '/showcase', action='search', # highlight_actions='index search') # m.connect('ckanext_showcase_new', '/showcase/new', action='new') # m.connect('ckanext_showcase_delete', '/showcase/delete/{id}', # action='delete') # m.connect('ckanext_showcase_read', '/showcase/{id}', action='read', # ckan_icon='picture') # m.connect('ckanext_showcase_edit', '/showcase/edit/{id}', # action='edit', ckan_icon='edit') # m.connect('ckanext_showcase_manage_datasets', # '/showcase/manage_datasets/{id}', # action="manage_datasets", ckan_icon="sitemap") m.connect('dataset_source_list', '/dataset/sources/{id}', action='dataset_source_list', ckan_icon='picture') # m.connect('ckanext_showcase_admins', '/ckan-admin/showcase_admins', # action='manage_showcase_admins', ckan_icon='picture'), # m.connect('ckanext_showcase_admin_remove', # '/ckan-admin/showcase_admin_remove', # action='remove_showcase_admin') # map.redirect('/showcases', '/showcase') # map.redirect('/showcases/{url:.*}', '/showcase/{url}') return map
def ga_report_enabled_routes_before_map(map): # GaReport with SubMapper(map, controller=GAREPORT_CTRL) as m: m.connect('/stats/site-analytics', action='index') m.connect('/stats/site-analytics_{month}.csv', action='csv') # GaDatasetReport with SubMapper(map, controller=GADATASETREPORT_CTRL) as m: m.connect('/stats/site-analytics/publisher', action='publishers') m.connect('/stats/site-analytics/publishers_{month}.csv', action='publisher_csv') m.connect('/stats/site-analytics/dataset/datasets_{id}_{month}.csv', action='dataset_csv') m.connect('/stats/site-analytics/dataset', action='read') m.connect('/stats/site-analytics/dataset/{id}', action='read_publisher')
def before_map(self, map): with SubMapper( map, controller='ckanext.collection.controller:CollectionController' ) as m: m.connect('collection.index', '/collection', action='index') m.connect('collection.new', '/collection/new', action='new') m.connect('collection.read', '/collection/:id', action='read') m.connect('collection.members', '/collection/:id/members', action='members') m.connect('collection.edit', '/collection/edit/:id', action='edit') m.connect('collection.delete', '/collection/delete/:id', action='delete') m.connect('collection.about', '/collection/about/:id', action='about') m.connect('dataset_collection_list', '/dataset/collections/{id}', action='dataset_collection_list', ckan_icon='picture') map.redirect('/collections', '/collection') return map
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 before_map(self, map): # These named routes are used for custom dataset forms which will use # the names below based on the dataset.type ('dataset' is the default # type) with SubMapper(map, controller='ckanext.showcase.controller:ShowcaseController') as m: m.connect('ckanext_showcase_index', '/%s' % MAPPER_URL_NAME, action='search', highlight_actions='index search') m.connect('ckanext_showcase_new', '/%s/new' % MAPPER_URL_NAME, action='new') m.connect('ckanext_showcase_delete', '/%s/delete/{id}' % MAPPER_URL_NAME, action='delete') m.connect('ckanext_showcase_read', '/%s/{id}' % MAPPER_URL_NAME, action='read', ckan_icon='picture') m.connect('ckanext_showcase_edit', '/%s/edit/{id}' % MAPPER_URL_NAME, action='edit', ckan_icon='edit') m.connect('ckanext_showcase_manage_datasets', '/%s/manage_datasets/{id}' % MAPPER_URL_NAME, action="manage_datasets", ckan_icon="sitemap") m.connect('dataset_showcase_list', '/dataset/%s/{id}' % MAPPER_URL_NAME_PLURAL, action='dataset_showcase_list', ckan_icon='picture') m.connect('ckanext_showcase_admins', '/ckan-admin/%s_admins' % MAPPER_URL_NAME, action='manage_showcase_admins', ckan_icon='picture'), m.connect('ckanext_showcase_admin_remove', '/ckan-admin/%s_admin_remove' % MAPPER_URL_NAME, action='remove_showcase_admin') map.redirect('/%s' % MAPPER_URL_NAME_PLURAL, '/%s' % MAPPER_URL_NAME) map.redirect('/%s/{url:.*}' % MAPPER_URL_NAME_PLURAL, '/%s/{url}' % MAPPER_URL_NAME) return map
def before_map(self, map): with SubMapper( map, controller='ckanext.s3filestore.controller:S3Controller') as m: # Override the resource download links m.connect('resource_download', '/dataset/{id}/resource/{resource_id}/download', action='resource_download') m.connect( 'resource_download', '/dataset/{id}/resource/{resource_id}/download/{filename}', action='resource_download') # fallback controller action to download from the filesystem m.connect( 'filesystem_resource_download', '/dataset/{id}/resource/{resource_id}/fs_download/{filename}', action='filesystem_resource_download') # Intercept the uploaded file links (e.g. group images) m.connect('uploaded_file', '/uploads/{upload_to}/{filename}', action='uploaded_file_redirect') return map
def ga_report_enabled_routes_after_map(map): # GaReport with SubMapper(map, controller=GAREPORT_CTRL) as m: m.connect('/site-usage', action='index') m.connect('/site-usage_{month}.csv', action='csv') m.connect('/site-usage/downloads', action='downloads') m.connect('/site-usage/downloads_{month}.csv', action='csv_downloads') # GaDatasetReport with SubMapper(map, controller=GADATASETREPORT_CTRL) as m: m.connect('/site-usage/publisher', action='publishers') m.connect('/site-usage/publishers_{month}.csv', action='publisher_csv') m.connect('/site-usage/dataset/datasets_{id}_{month}.csv', action='dataset_csv') m.connect('/site-usage/dataset', action='read') m.connect('/site-usage/dataset/{id}', action='read_publisher')
def before_map(self, map): with SubMapper(map, controller='ckanext.s3filestore.controller:S3Controller') as m: # Override the resource download links if not hasattr(DefaultResourceUpload, "download"): m.connect('resource_download', '/dataset/{id}/resource/{resource_id}/download', action='resource_download') m.connect('resource_download', '/dataset/{id}/resource/{resource_id}/download/{filename}', action='resource_download') # Allow fallback to access old files use_filename = toolkit.asbool(toolkit.config.get('ckanext.s3filestore.use_filename', False)) if not use_filename: m.connect('resource_download', '/dataset/{id}/resource/{resource_id}/orig_download/{filename}', action='resource_download') # fallback controller action to download from the filesystem m.connect('filesystem_resource_download', '/dataset/{id}/resource/{resource_id}/fs_download/{filename}', action='filesystem_resource_download') # Intercept the uploaded file links (e.g. group images) m.connect('uploaded_file', '/uploads/{upload_to}/{filename}', action='uploaded_file_redirect') return map
def before_map(self, map): ctrl = 'ckanext.metaexport.controller:MetaexportController' with SubMapper(map, controller=ctrl, path_prefix='/dataset/{id}') as m: m.connect('dataset_metaexport', '/metaexport/{format}', action='export') return map
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 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 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 before_map(self, map): with SubMapper( map, controller='ckanext.welive_authentication.controller:WeliveAuthenticationController') as m: m.connect('login', '/user/login', action='login', ckan_icon='cogs') return map
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 after_map(self, map): with SubMapper( map, controller='ckanext.canada.controller:CanadaController') as m: m.connect('/guidelines', action='view_guidelines') m.connect('/help', action='view_help') m.connect('/newuser', action='view_new_user') return map
def before_map(self, map): rss_controller = 'ckanext.edc_rss.controllers.rss:RSSController' with SubMapper(map, controller=rss_controller) as m: m.connect('/feeds/recent.rss', action='recent') return map
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")