def _add_extras_urls_as_resources(dataset_metadata, field_prefixes,
                                  ckanapi_utils, elem, root, lang):

    for meta in elem.findall('wp:postmeta', root.nsmap):
        meta_key = meta.find('wp:meta_key', root.nsmap).text
        supported_fields = config['supported_fields']
        if script_utils._is_key_in_fields(meta_key, supported_fields):
            meta_key_copy = meta_key
            meta_value = meta.find('wp:meta_value', root.nsmap).text
            if ((meta_value is not None) and (meta_value is not "")):

                field_key = meta_key
                field_value = meta_value

                if script_utils._is_valid_url(field_value):
                    add_resource = True
                    resource_format = 'html'
                else:
                    for field_prefix in field_prefixes:
                        if field_key == field_prefix['field']:
                            field_value = field_prefix['prefix'] + field_value
                            add_resource = True
                            resource_format = script_utils._get_ext(
                                field_value)

                            if add_resource:

                                try:

                                    existing_resource = False
                                    for resource in dataset_metadata[
                                            'resources']:
                                        if resource[
                                                'name'] == dataset_metadata[
                                                    'title_translated'][lang]:
                                            existing_resource = True

                                    if existing_resource == False:
                                        temp_file_path = script_utils._generate_temp_filename(
                                            '/tmp/',
                                            script_utils._get_ext(field_value))
                                        script_utils._download_file(
                                            field_value, temp_file_path)
                                        resource_dict = script_utils._create_metadata_dictionary_for_upload(
                                            dataset_metadata['id'], '',
                                            temp_file_path, dataset_metadata[
                                                'title_translated'][lang],
                                            field_prefix['lang'].upper(),
                                            script_utils._get_ext(field_value),
                                            field_prefix['lang'])
                                        created_resource = ckanapiutils.create_resource_with_file_upload(
                                            resource_dict)

                                        if os.path.exists(temp_file_path):
                                            os.remove(temp_file_path)

                                except (UnicodeError):
                                    traceback.print_exc()
def _add_extras_urls_as_resources(dataset_metadata, field_prefixes, ckanapi_utils,elem,root,lang):

  for meta in elem.findall('wp:postmeta', root.nsmap):
    meta_key = meta.find('wp:meta_key', root.nsmap).text
    supported_fields = config['supported_fields']
    if script_utils._is_key_in_fields(meta_key, supported_fields):
      meta_key_copy = meta_key
      meta_value = meta.find('wp:meta_value', root.nsmap).text
      if ((meta_value is not None) and (meta_value is not "")):

        field_key = meta_key
        field_value = meta_value

        if script_utils._is_valid_url(field_value):
          add_resource = True
          resource_format = 'html'
        else:
          for field_prefix in field_prefixes:
            if field_key == field_prefix['field']:
              field_value = field_prefix['prefix'] + field_value
              add_resource = True
              resource_format = script_utils._get_ext(field_value)

              if add_resource:

                try:

                  existing_resource = False
                  for resource in dataset_metadata['resources']:
                    if resource['name'] == dataset_metadata['title_translated'][lang]:
                      existing_resource = True

                  if existing_resource == False:
                    temp_file_path = script_utils._generate_temp_filename('/tmp/',script_utils._get_ext(field_value))
                    script_utils._download_file(field_value, temp_file_path)
                    resource_dict = script_utils._create_metadata_dictionary_for_upload(dataset_metadata['id'],'',temp_file_path, dataset_metadata['title_translated'][lang], field_prefix['lang'].upper(), script_utils._get_ext(field_value),field_prefix['lang'])
                    created_resource = ckanapiutils.create_resource_with_file_upload(resource_dict)

                    if os.path.exists(temp_file_path):
                      os.remove(temp_file_path)

                except (UnicodeError):
                  traceback.print_exc()
      dataset_metadata['id'] = created_dataset['id']
      print("Dataset created ",created_dataset['id'],created_dataset['title'])

    except (ckan.lib.search.common.SearchIndexError) as e:
      continue

  try:

    temp_file_path = script_utils._generate_temp_filename('xml')

    with open(temp_file_path, 'w') as fw:
      xml = marcxml.record_to_xml(record)
      fw.write(xml)
      fw.close()

    resource_dict = script_utils._create_metadata_dictionary_for_upload(dataset_metadata['id'],"N/A",temp_file_path,dataset_metadata['title'],'Alternative representation [MARCXML]','xml',None)
    ckanapiutils.create_resource_with_file_upload(resource_dict)
    if os.path.exists(temp_file_path):
      os.remove(temp_file_path)

  except (ValueError, OSError) as e:
    if (config.DEBUG):
      traceback.print_exc()

  try:

    temp_file_path = script_utils._generate_temp_filename('json')

    with open(temp_file_path, 'w') as fw:
      json = record.as_json()
      fw.write(json)
                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):
                    os.remove(temp_file_path)

            except (urllib2.HTTPError, ValueError) as e3:
                if (config.DEBUG):
                    traceback.print_exc()

            try:

                temp_file_path = script_utils._generate_temp_filename('csv')
                csv_url = script_utils._generate_ows_download_url(
                    geoserver.geoserver_url, feature_namespace, feature_name,
                    'csv')
      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):
          os.remove(temp_file_path)

      except (urllib2.HTTPError, ValueError) as e3:
        if (config.DEBUG):
          traceback.print_exc()

      try:

        temp_file_path = script_utils._generate_temp_filename('csv')
        csv_url = script_utils._generate_ows_download_url(geoserver.geoserver_url,feature_namespace,feature_name,'csv')
        csv_file = geoserver.download_file(csv_url,temp_file_path)

        resource_dict = script_utils._create_metadata_dictionary_for_upload(dataset_metadata['id'],csv_file,temp_file_path,dataset_metadata['title'],'Data representation [CSV]','csv',dataset_metadata['odm_language'][0])