code: def map_resource_to_distribution(resource, portal_url):
      
      distribution = dict()
  
      distribution_mapping = {
          'url': 'downloadURL',
          'name': 'title',
          'created': 'issued',
          'description': 'description',
          'format': 'format',
          'last_modified': 'modified',
          'mimetype': 'mediaType',
          'size': 'byteSize',
          'id': 'identifier'  # No es parte del estandar de PAD pero es relevante
      }
  
      for resource_key, distribution_key in iteritems(distribution_mapping):
          try:
              distribution[distribution_key] = resource[resource_key]
          except BaseException:
              logger.exception("""
              La clave '%s' no está en la metadata del 'resource' '%s'. No
              se puede completar distribution['%s'].""",
                               resource_key, resource['name'], distribution_key)
  
      if 'attributesDescription' in resource:
          try:
              distribution['field'] = json.loads(
                  resource['attributesDescription'])
  
          except BaseException:
              logger.exception(
                  "Error parseando los fields del resource '%s'",
                  resource['name'])
  
      url_path = ['dataset', resource['package_id'], 'resource', resource['id']]
      distribution["accessURL"] = urljoin(portal_url, "/".join(url_path))
  
      return distribution
docs: Mapea un diccionario con metadatos de cierto 'resource' CKAN a dicts
      con metadatos de una 'distribution' según el estándar data.json.