docs: def resolve_url(self, resource_name):
          """Return a URL to a local copy of a resource, suitable for get_generator()"""
  
          if self.target_format == 'csv' and self.target_file != DEFAULT_METATAB_FILE:
              # For CSV packages, need to get the package and open it to get the resoruce URL, becuase
              # they are always absolute web URLs and may not be related to the location of the metadata.
              s = self.get_resource()
              rs = s.doc.resource(resource_name)
              return parse_app_url(rs.url)
          else:
              jt = self.join_target(resource_name)
              rs = jt.get_resource()
              t = rs.get_target()
          return t