Example #1
0
 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
Example #2
0
    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'
Example #3
0
    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
Example #4
0
    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
Example #6
0
    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
Example #7
0
    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
Example #8
0
    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'
Example #9
0
 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
Example #10
0
    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')
Example #13
0
    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
Example #15
0
    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'))
Example #16
0
 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')
Example #18
0
    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
Example #19
0
    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"
Example #20
0
 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
Example #21
0
    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')
Example #23
0
    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
Example #24
0
 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
Example #25
0
 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}'))
Example #26
0
    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'))
Example #27
0
 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'),
Example #28
0
    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
Example #29
0
 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']))
Example #30
0
 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
Example #31
0
    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
Example #32
0
    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
Example #33
0
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']))
Example #34
0
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")