def package_showcase_list(context, data_dict): '''List showcases associated with a package. :param package_id: id or name of the package :type package_id: string :rtype: list of dictionaries ''' toolkit.check_access('ckanext_package_showcase_list', context, data_dict) # validate the incoming data_dict validated_data_dict, errors = validate(data_dict, package_showcase_list_schema(), context) if errors: raise toolkit.ValidationError(errors) # get a list of showcase ids associated with the package id showcase_id_list = ShowcasePackageAssociation.get_showcase_ids_for_package( validated_data_dict['package_id']) showcase_list = [] if showcase_id_list is not None: for showcase_id in showcase_id_list: showcase = toolkit.get_action('package_show')(context, { 'id': showcase_id }) showcase_list.append(showcase) return showcase_list
def package_showcase_list(context, data_dict): '''List showcases associated with a package. :param package_id: id or name of the package :type package_id: string :rtype: list of dictionaries ''' toolkit.check_access('ckanext_package_showcase_list', context, data_dict) # validate the incoming data_dict validated_data_dict, errors = validate(data_dict, package_showcase_list_schema(), context) if errors: raise toolkit.ValidationError(errors) # get a list of showcase ids associated with the package id showcase_id_list = ShowcasePackageAssociation.get_showcase_ids_for_package( validated_data_dict['package_id']) showcase_list = [] if showcase_id_list is not None: for showcase_id in showcase_id_list: try: showcase = toolkit.get_action('package_show')(context, {'id': showcase_id}) showcase_list.append(showcase) except NotAuthorized: pass return showcase_list
def hdx_get_package_showcase_id_list(context, data_dict): import ckan.plugins.toolkit as toolkit from ckan.lib.navl.dictization_functions import validate from ckanext.showcase.logic.schema import (package_showcase_list_schema) from ckanext.showcase.model import ShowcasePackageAssociation toolkit.check_access('ckanext_package_showcase_list', context, data_dict) # validate the incoming data_dict validated_data_dict, errors = validate(data_dict, package_showcase_list_schema(), context) if errors: raise toolkit.ValidationError(errors) # get a list of showcase ids associated with the package id showcase_id_list = ShowcasePackageAssociation.get_showcase_ids_for_package(validated_data_dict['package_id']) return showcase_id_list
def package_showcase_list(context, data_dict): '''List showcases associated with a package. :param package_id: id or name of the package :type package_id: string :rtype: list of dictionaries ''' toolkit.check_access('ckanext_package_showcase_list', context, data_dict) # validate the incoming data_dict validated_data_dict, errors = validate(data_dict, package_showcase_list_schema(), context) if errors: raise toolkit.ValidationError(errors) # get a list of showcase ids associated with the package id showcase_id_list = ShowcasePackageAssociation.get_showcase_ids_for_package( validated_data_dict['package_id']) showcase_list = [] q = '' fq = '' if showcase_id_list: id_list = [] for showcase_id in showcase_id_list: id_list.append(showcase_id[0]) fq = 'dataset_type:showcase' q = 'id:(' + ' OR '.join(['{0}'.format(x) for x in id_list]) + ')' _showcase_list = toolkit.get_action('package_search')(context, { 'q': q, 'fq': fq, 'rows': 100 }) showcase_list = _showcase_list['results'] return showcase_list