docs: def get_exposure(oqparam):
      """
      Read the full exposure in memory and build a list of
      :class:`openquake.risklib.asset.Asset` instances.
  
      :param oqparam:
          an :class:`openquake.commonlib.oqvalidation.OqParam` instance
      :returns:
          an :class:`Exposure` instance or a compatible AssetCollection
      """
      exposure = asset.Exposure.read(
          oqparam.inputs['exposure'], oqparam.calculation_mode,
          oqparam.region, oqparam.ignore_missing_costs,
          by_country='country' in oqparam.aggregate_by)
      exposure.mesh, exposure.assets_by_site = exposure.get_mesh_assets_by_site()
      return exposure