LSST Applications g0da5cf3356+25b44625d0,g17e5ecfddb+50a5ac4092,g1c76d35bf8+585f0f68a2,g295839609d+8ef6456700,g2e2c1a68ba+cc1f6f037e,g38293774b4+62d12e78cb,g3b44f30a73+2891c76795,g48ccf36440+885b902d19,g4b2f1765b6+0c565e8f25,g5320a0a9f6+bd4bf1dc76,g56364267ca+403c24672b,g56b687f8c9+585f0f68a2,g5c4744a4d9+78cd207961,g5ffd174ac0+bd4bf1dc76,g6075d09f38+3075de592a,g667d525e37+cacede5508,g6f3e93b5a3+da81c812ee,g71f27ac40c+cacede5508,g7212e027e3+eb621d73aa,g774830318a+18d2b9fa6c,g7985c39107+62d12e78cb,g79ca90bc5c+fa2cc03294,g881bdbfe6c+cacede5508,g91fc1fa0cf+82a115f028,g961520b1fb+2534687f64,g96f01af41f+f2060f23b6,g9ca82378b8+cacede5508,g9d27549199+78cd207961,gb065e2a02a+ad48cbcda4,gb1df4690d6+585f0f68a2,gb35d6563ee+62d12e78cb,gbc3249ced9+bd4bf1dc76,gbec6a3398f+bd4bf1dc76,gd01420fc67+bd4bf1dc76,gd59336e7c4+c7bb92e648,gf46e8334de+81c9a61069,gfed783d017+bd4bf1dc76,v25.0.1.rc3
LSST Data Management Base Package
Loading...
Searching...
No Matches
Functions
lsst.daf.persistence.butlerHelpers Namespace Reference

Functions

def searchDataRefs (butler, datasetType, level="", dataId=None)
 
def dataExists (dataRef)
 

Function Documentation

◆ dataExists()

def lsst.daf.persistence.butlerHelpers.dataExists (   dataRef)
Determine if data exists at the current level or any data exists at a deeper level.

Parameters
----------
dataRef : `lsst.daf.persistence.ButlerDataRef`
    Data reference to test for existence.

Returns
-------
exists : `bool`
    Return value is `True` if data exists, `False` otherwise.

Definition at line 60 of file butlerHelpers.py.

60def dataExists(dataRef):
61 """Determine if data exists at the current level or any data exists at a deeper level.
62
63 Parameters
64 ----------
66 Data reference to test for existence.
67
68 Returns
69 -------
70 exists : `bool`
71 Return value is `True` if data exists, `False` otherwise.
72 """
73 subDRList = dataRef.subItems()
74 if subDRList:
75 for subDR in subDRList:
76 if dataExists(subDR):
77 return True
78 return False
79 else:
80 return dataRef.datasetExists()

◆ searchDataRefs()

def lsst.daf.persistence.butlerHelpers.searchDataRefs (   butler,
  datasetType,
  level = "",
  dataId = None 
)
Find all data references for a partial data ID.

Parameters
----------
butler: `lsst.daf.persistence.Butler`
    The repository to query for data.
datasetType : `str`
    The type of data references to return.
level : `str`
    The level of data ID at which to search. If the empty string, the
    default level for ``datasetType`` shall be used.
dataId : `lsst.daf.persistence.DataRef`, or `dict` from `str` to any
    Butler identifier naming the data to be retrieved. If ommitted, an
    unrestricted data ID shall be used.

Returns
-------
dataRefs : iterable of `lsst.daf.persistence.ButlerDataRef`
    Complete data references matching ``dataId``. Only references to
    existing data shall be returned.

Definition at line 29 of file butlerHelpers.py.

29def searchDataRefs(butler, datasetType, level="", dataId=None):
30 """Find all data references for a partial data ID.
31
32 Parameters
33 ----------
35 The repository to query for data.
36 datasetType : `str`
37 The type of data references to return.
38 level : `str`
39 The level of data ID at which to search. If the empty string, the
40 default level for ``datasetType`` shall be used.
41 dataId : `lsst.daf.persistence.DataRef`, or `dict` from `str` to any
42 Butler identifier naming the data to be retrieved. If ommitted, an
43 unrestricted data ID shall be used.
44
45 Returns
46 -------
47 dataRefs : iterable of `lsst.daf.persistence.ButlerDataRef`
48 Complete data references matching ``dataId``. Only references to
49 existing data shall be returned.
50 """
51 if dataId is None:
52 dataId = {}
53
54 refList = butler.subset(datasetType=datasetType, level=level, dataId=dataId)
55 # exclude nonexistent data
56 # this is a recursive test, e.g. for the sake of "raw" data
57 return [dr for dr in refList if dataExists(dr)]
58
59