LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | Private Member Functions | Private Attributes | List of all members
lsst.pipe.tasks.repositoryIterator.RepositoryIterator Class Reference
Inheritance diagram for lsst.pipe.tasks.repositoryIterator.RepositoryIterator:

Public Member Functions

def __init__
 
def __iter__
 
def __len__
 
def format
 
def getKeyTuple
 

Private Member Functions

def _getDTypeList
 

Private Attributes

 _formatStr
 
 _keyTuple
 
 _valListOfLists
 
 _dtype
 

Detailed Description

Iterate over a set of data repositories that use a naming convention based on parameter values

Definition at line 226 of file repositoryIterator.py.

Constructor & Destructor Documentation

def lsst.pipe.tasks.repositoryIterator.RepositoryIterator.__init__ (   self,
  formatStr,
  dataDict 
)
Construct a repository iterator from a dict of name: valueList

@param[in] formatStr: format string using dictionary notation, e.g.: "%(foo)s_%(bar)d"
@param[in] **dataDict: name=valueList pairs

Definition at line 229 of file repositoryIterator.py.

230  def __init__(self, formatStr, **dataDict):
231  """Construct a repository iterator from a dict of name: valueList
232 
233  @param[in] formatStr: format string using dictionary notation, e.g.: "%(foo)s_%(bar)d"
234  @param[in] **dataDict: name=valueList pairs
235  """
236  self._formatStr = formatStr
237  self._keyTuple = tuple(sorted(dataDict.keys()))
238  self._valListOfLists = [numpy.array(dataDict[key]) for key in self._keyTuple]
239  self._dtype = [(key, self._valListOfLists[i].dtype) \
240  for i, key in enumerate(self._keyTuple)]

Member Function Documentation

def lsst.pipe.tasks.repositoryIterator.RepositoryIterator.__iter__ (   self)
Retrieve next RepositoryInfo object

Definition at line 241 of file repositoryIterator.py.

242  def __iter__(self):
243  """Retrieve next RepositoryInfo object
244  """
245  for valTuple in itertools.product(*self._valListOfLists):
246  valDict = dict(zip(self._keyTuple, valTuple))
247  name=self.format(valDict)
248  yield RepositoryInfo(keyTuple=self._keyTuple, valTuple=valTuple, dtype=self._dtype, name=name)
def lsst.pipe.tasks.repositoryIterator.RepositoryIterator.__len__ (   self)
Return the number of items in the iterator

Definition at line 249 of file repositoryIterator.py.

250  def __len__(self):
251  """Return the number of items in the iterator"""
252  n = 1
253  for valTuple in self._valListOfLists:
254  n *= len(valTuple)
255  return n
def lsst.pipe.tasks.repositoryIterator.RepositoryIterator._getDTypeList (   self)
private
Get a dtype for a structured array of repository keys

Definition at line 268 of file repositoryIterator.py.

269  def _getDTypeList(self):
270  """Get a dtype for a structured array of repository keys
271  """
272  return self._dtype
def lsst.pipe.tasks.repositoryIterator.RepositoryIterator.format (   self,
  valDict 
)
Return formatted string for a specified value dictionary

@param[in] valDict: a dict of key: value pairs that identify a repository

Definition at line 256 of file repositoryIterator.py.

257  def format(self, valDict):
258  """Return formatted string for a specified value dictionary
259 
260  @param[in] valDict: a dict of key: value pairs that identify a repository
261  """
262  return self._formatStr % valDict
def lsst.pipe.tasks.repositoryIterator.RepositoryIterator.getKeyTuple (   self)
Return the a tuple of keys in the same order as items in value tuples

Definition at line 263 of file repositoryIterator.py.

264  def getKeyTuple(self):
265  """Return the a tuple of keys in the same order as items in value tuples
266  """
267  return self._keyTuple

Member Data Documentation

lsst.pipe.tasks.repositoryIterator.RepositoryIterator._dtype
private

Definition at line 238 of file repositoryIterator.py.

lsst.pipe.tasks.repositoryIterator.RepositoryIterator._formatStr
private

Definition at line 235 of file repositoryIterator.py.

lsst.pipe.tasks.repositoryIterator.RepositoryIterator._keyTuple
private

Definition at line 236 of file repositoryIterator.py.

lsst.pipe.tasks.repositoryIterator.RepositoryIterator._valListOfLists
private

Definition at line 237 of file repositoryIterator.py.


The documentation for this class was generated from the following file: