modified_dataset['title']) except (ckanapi.SearchError, ckanapi.NotFound) as e1: # Lets create it created_dataset = ckanapiutils.create_package(dataset_metadata) dataset_metadata['id'] = created_dataset['id'] print("Dataset created ", created_dataset['id'], created_dataset['title']) ol_url = script_utils._generate_wms_download_url( geoserver.geoserver_url, feature_namespace, feature_name, 'application/openlayers') resource_dict = script_utils._create_metadata_dictionary_for_resource( dataset_metadata['id'], ol_url, dataset_metadata['title'], 'Data representation [Open Layers]', 'html') created_resource = ckanapiutils.create_resource(resource_dict) ol_url = script_utils._generate_wms_download_url( geoserver.geoserver_url, feature_namespace, feature_name, 'application/vnd.google-earth.kml') resource_dict = script_utils._create_metadata_dictionary_for_resource( dataset_metadata['id'], ol_url, dataset_metadata['title'], 'Data representation KML]', 'kml') created_resource = ckanapiutils.create_resource(resource_dict) try: temp_file_path = script_utils._generate_temp_filename( 'geojson')
os.remove(temp_file_path) except (ValueError, OSError) as e: if (config.DEBUG): traceback.print_exc() if record.get_fields('856'): for f in record.get_fields('856'): if f['u'] is not None: resource_url = f['u'] try: urllib.urlopen(resource_url) resource_dict = script_utils._create_metadata_dictionary_for_resource(dataset_metadata['id'],resource_url,dataset_metadata['title'],'Extra material [Link]','html',None) created_resource = ckanapiutils.create_resource(resource_dict) except (UnicodeError): if (config.DEBUG): traceback.print_exc() except (IOError, AttributeError) as e: try: temp_file_path = script_utils._generate_temp_filename('pdf') nglutils.download_file(resource_url,temp_file_path) resource_dict = script_utils._create_metadata_dictionary_for_upload(dataset_metadata['id'],"N/A",temp_file_path,dataset_metadata['title'],'Extra material [PDF]','pdf',None) ckanapiutils.create_resource_with_file_upload(resource_dict) if os.path.exists(temp_file_path):
# Lets modify it modified_dataset = ckanapiutils.update_package(dataset_metadata) dataset_metadata['id'] = modified_dataset['id'] print("Dataset modified ",modified_dataset['id'],modified_dataset['title']) except (ckanapi.SearchError,ckanapi.NotFound) as e1: # Lets create it created_dataset = ckanapiutils.create_package(dataset_metadata) dataset_metadata['id'] = created_dataset['id'] print("Dataset created ",created_dataset['id'],created_dataset['title']) ol_url = script_utils._generate_wms_download_url(geoserver.geoserver_url,feature_namespace,feature_name,'application/openlayers') resource_dict = script_utils._create_metadata_dictionary_for_resource(dataset_metadata['id'],ol_url,dataset_metadata['title'],'Data representation [Open Layers]','html') created_resource = ckanapiutils.create_resource(resource_dict) ol_url = script_utils._generate_wms_download_url(geoserver.geoserver_url,feature_namespace,feature_name,'application/vnd.google-earth.kml') resource_dict = script_utils._create_metadata_dictionary_for_resource(dataset_metadata['id'],ol_url,dataset_metadata['title'],'Data representation KML]','kml') created_resource = ckanapiutils.create_resource(resource_dict) try: temp_file_path = script_utils._generate_temp_filename('geojson') geojson_url = script_utils._generate_ows_download_url(geoserver.geoserver_url,feature_namespace,feature_name,'json') geojson_file = geoserver.download_file(geojson_url,temp_file_path) resource_dict = script_utils._create_metadata_dictionary_for_upload(dataset_metadata['id'],geojson_url,temp_file_path,dataset_metadata['title'],'Data representation [Geojson]','geojson',dataset_metadata['odm_language'][0]) ckanapiutils.create_resource_with_file_upload(resource_dict) if os.path.exists(temp_file_path):