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 _set_extras(dataset_metadata, root, elem):

    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 "")):
                dataset_metadata[meta_key] = meta_value

    return dataset_metadata
def _set_extras(dataset_metadata, root, elem):

  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 "")):
        dataset_metadata[meta_key] = meta_value

  return dataset_metadata
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()