def _set_taxonomy_from_category(dataset_metadata, elem): taxonomy_tags = ckanapiutils.get_all_tags_from_tag_vocabulary( {'vocabulary_id': config['taxonomy_tag_vocab']}) dataset_metadata['taxonomy'] = [] for category in elem.findall('category'): category_name = script_utils._prepare_string_for_ckan_tag_name( category.text) category_name = script_utils._str_capitalize_underscore_replaced_with_space( category_name) if category_name in taxonomies: mapped = taxonomies[category_name] for tag in mapped: tag_name = script_utils._prepare_string_for_ckan_tag_name(tag) tag_name = script_utils._str_capitalize_underscore_replaced_with_space( tag_name) else: tag_name = script_utils._prepare_string_for_ckan_tag_name( category_name) tag_name = script_utils._str_capitalize_underscore_replaced_with_space( category_name) if tag_name not in dataset_metadata['taxonomy']: if tag_name in taxonomy_tags: dataset_metadata['taxonomy'].append(tag_name) return dataset_metadata
def _map_geoserver_feature_to_ckan_dataset(feature_namespace,feature_name,feature_title,taxonomy_tags,config): # First, extract the information from the layer (Title, Abstract, Tags) params_dict = {} # Specify the package_type params_dict['type'] = config.package_type params_dict['maintainer'] = config.IMPORTER_NAME params_dict['maintainer_email'] = config.IMPORTER_EMAIL # The dataset id will be set when we find or create it params_dict['state'] = 'active' # Extract title (Mandatory) params_dict['title'] = feature_title # Extract name (Mandatory, lowcase and without characters except _-') params_dict['name'] = script_utils._prepare_string_for_ckan_name(feature_name) # Notes / Description / Abstract params_dict['notes'] = 'Imported Geoserver Layer: '+params_dict['title'] + '.' params_dict['taxonomy'] = [] category_name = script_utils._prepare_string_for_ckan_tag_name(feature_namespace) category_name = script_utils._str_capitalize_underscore_replaced_with_space(category_name) if (category_name in taxonomy_tags): params_dict['taxonomy'].append(category_name) return params_dict
def _set_taxonomy_from_category(dataset_metadata,elem): taxonomy_tags = ckanapiutils.get_all_tags_from_tag_vocabulary({'vocabulary_id': config['taxonomy_tag_vocab']}) dataset_metadata['taxonomy'] = [] for category in elem.findall('category'): category_name = script_utils._prepare_string_for_ckan_tag_name(category.text) category_name = script_utils._str_capitalize_underscore_replaced_with_space(category_name) if category_name in taxonomies: mapped = taxonomies[category_name] for tag in mapped: tag_name = script_utils._prepare_string_for_ckan_tag_name(tag) tag_name = script_utils._str_capitalize_underscore_replaced_with_space(tag_name) else: tag_name = script_utils._prepare_string_for_ckan_tag_name(category_name) tag_name = script_utils._str_capitalize_underscore_replaced_with_space(category_name) if tag_name not in dataset_metadata['taxonomy']: if tag_name in taxonomy_tags: dataset_metadata['taxonomy'].append(tag_name) return dataset_metadata
def _map_geoserver_feature_to_ckan_dataset(feature_namespace, feature_name, feature_title, taxonomy_tags, config): # First, extract the information from the layer (Title, Abstract, Tags) params_dict = {} # Specify the package_type params_dict['type'] = config.package_type params_dict['maintainer'] = config.IMPORTER_NAME params_dict['maintainer_email'] = config.IMPORTER_EMAIL # The dataset id will be set when we find or create it params_dict['state'] = 'active' # Extract title (Mandatory) params_dict['title'] = feature_title # Extract name (Mandatory, lowcase and without characters except _-') params_dict['name'] = script_utils._prepare_string_for_ckan_name( feature_name) # Notes / Description / Abstract params_dict[ 'notes'] = 'Imported Geoserver Layer: ' + params_dict['title'] + '.' params_dict['taxonomy'] = [] category_name = script_utils._prepare_string_for_ckan_tag_name( feature_namespace) category_name = script_utils._str_capitalize_underscore_replaced_with_space( category_name) if (config.DEBUG): print(category_name) if (category_name in taxonomy_tags): params_dict['taxonomy'].append(category_name) return params_dict