find_latest

gwdatafind.find_latest(site, frametype, urltype='file', on_missing='error', host=None, session=None, **request_kw)

Query a GWDataFind host for the latest file in a given dataset.

Parameters
  • site (str) – single-character name of site to match

  • frametype (str) – name of dataset to match

  • urltype (str, optional) – URL scheme to search for

  • on_missing (str, optional) –

    what to do when the requested file isn’t found, one of:

    • 'error': raise a RuntimeError

    • 'warn': print a warning but return an empty list

    • 'ignore': return an empty list with no warnings

  • host (str, optional) – the URL/name of the GWDataFind host to query; if not given get_default_host() will be used to discover the default host.

  • session (requests.Session, optional) – the connection session to use; if not given, a igwn_auth_utils.requests.Session will be created on-the-fly

  • token – passed directly to Session, see SciTokens for more details.

  • token_audience – passed directly to Session, see SciTokens for more details.

  • token_scope – passed directly to Session, see SciTokens for more details.

  • cert – passed directly to Session, see X.509 for more details.

  • request_kw – other keywords are passed to igwn_auth_utils.get()

Returns

urls (list of str) – a list of URLs for the latest file found

Raises
  • requests.RequestsException – if the request fails for any reason

  • RuntimeError – if no latest file is found and on_missing="error" was given

Examples

>>> find_latest('H', 'H1_GWOSC_O2_4KHZ_R1', urltype='file', host='datafind.gw-openscience.org'))
['file://localhost/cvmfs/gwosc.osgstorage.org/gwdata/O2/strain.4k/frame.v1/H1/1186988032/H-H1_GWOSC_O2_4KHZ_R1-1187733504-4096.gwf']