LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
lsst.daf.persistence.repository.RepositoryArgs Class Reference

Public Member Functions

def __init__ (self, cfgRoot=None, root=None, mapper=None, mapperArgs=None, tags=None, mode=None, policy=None)
 
def __repr__ (self)
 
def mapper (self)
 
def mapper (self, mapper)
 
def cfgRoot (self)
 
def root (self)
 
def tag (self, tag)
 

Static Public Member Functions

def inputRepo (storage, tags=None)
 
def outputRepo (storage, mapper=None, mapperArgs=None, tags=None, mode=None)
 

Public Attributes

 mapperArgs
 
 tags
 
 mode
 
 policy
 

Detailed Description

Arguments passed into a Butler that are used to instantiate a repository. This includes arguments that
can be used to create a new repository (cfgRoot, root, mapper, mapperArgs, policy) and are persisted along
with the new repository's configuration file. These arguments can also describe how a new or existing
repository are to be used (cfgRoot or root, tags, mode). When indicating an existing repository it is
better to not specify unnecessary arguments, as if they conflict with the persisted repository
configuration then a RuntimeError will be raised during Butler init.

A RepositoryArgs class can be initialized from a dict, if the first argument to the initializer is a dict.

Parameters
----------
cfgRoot : URI or dict, optional
    If dict, the initalizer is re-called with the expanded dict.
    If URI, this is the location where the RepositoryCfg should be found (existing repo) or put (new repo)
root : URI, optional
    If different than cfgRoot then this is the location where the repository should exist. A RepositoryCfg
    will be put at cfgRoot and its root will be a path to root.
mapper : string or class object, optional
    The mapper to use with this repository. If string, should refer an importable object. If class object,
    should be a mapper to be instantiated by the Butler during Butler init.
mapperArgs : dict
    Arguments & values to pass to the mapper when initializing it.
tags : list or object, optional
    One or more unique identifiers to uniquely identify this repository and its parents when performing
    Butler.get.
mode : string, optional
    should be one of 'r', 'w', or 'rw', for 'read', 'write', or 'read-write'. Can be omitted; input
    repositories will default to 'r', output repositories will default to 'w'. 'w' on an input repository
    will raise a RuntimeError during Butler init, although 'rw' works and is equivalent to 'r'. Output
    repositories may be 'r' or 'rw', 'r' for an output repository will raise a RuntimeError during Butler
    init.
policy : dict
    Policy associated with this repository, overrides all other policy data (which may be loaded from
    policies in derived packages).

Definition at line 31 of file repository.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.daf.persistence.repository.RepositoryArgs.__init__ (   self,
  cfgRoot = None,
  root = None,
  mapper = None,
  mapperArgs = None,
  tags = None,
  mode = None,
  policy = None 
)

Definition at line 68 of file repository.py.

69  mode=None, policy=None):
70  try:
71  # is cfgRoot a dict? try dict init:
72  self.__init__(**cfgRoot)
73  except TypeError:
74  self._root = Storage.absolutePath(os.getcwd(), root.rstrip(os.sep)) if root else root
75  self._cfgRoot = Storage.absolutePath(os.getcwd(), cfgRoot.rstrip(os.sep)) if cfgRoot else cfgRoot
76  self._mapper = mapper
77  self.mapperArgs = mapperArgs
78  self.tags = set(listify(tags))
79  self.mode = mode
80  self.policy = Policy(policy) if policy is not None else None
81 
daf::base::PropertySet * set
Definition: fits.cc:912

Member Function Documentation

◆ __repr__()

def lsst.daf.persistence.repository.RepositoryArgs.__repr__ (   self)

Definition at line 82 of file repository.py.

82  def __repr__(self):
83  return "%s(root=%r, cfgRoot=%r, mapper=%r, mapperArgs=%r, tags=%s, mode=%r, policy=%s)" % (
84  self.__class__.__name__, self.root, self._cfgRoot, self._mapper, self.mapperArgs, self.tags,
85  self.mode, self.policy)
86 

◆ cfgRoot()

def lsst.daf.persistence.repository.RepositoryArgs.cfgRoot (   self)

Definition at line 98 of file repository.py.

98  def cfgRoot(self):
99  return self._cfgRoot if self._cfgRoot is not None else self._root
100 

◆ inputRepo()

def lsst.daf.persistence.repository.RepositoryArgs.inputRepo (   storage,
  tags = None 
)
static

Definition at line 106 of file repository.py.

106  def inputRepo(storage, tags=None):
107  return RepositoryArgs(storage, tags)
108 

◆ mapper() [1/2]

def lsst.daf.persistence.repository.RepositoryArgs.mapper (   self)

Definition at line 88 of file repository.py.

88  def mapper(self):
89  return self._mapper
90 
SchemaMapper * mapper
Definition: SchemaMapper.cc:71

◆ mapper() [2/2]

def lsst.daf.persistence.repository.RepositoryArgs.mapper (   self,
  mapper 
)

Definition at line 92 of file repository.py.

92  def mapper(self, mapper):
93  if mapper is not None and self._mapper:
94  raise RuntimeError("Explicity clear mapper (set to None) before changing its value.")
95  self._mapper = mapper
96 

◆ outputRepo()

def lsst.daf.persistence.repository.RepositoryArgs.outputRepo (   storage,
  mapper = None,
  mapperArgs = None,
  tags = None,
  mode = None 
)
static

Definition at line 110 of file repository.py.

110  def outputRepo(storage, mapper=None, mapperArgs=None, tags=None, mode=None):
111  return RepositoryArgs(storage, mapper, mapperArgs, tags, mode)
112 

◆ root()

def lsst.daf.persistence.repository.RepositoryArgs.root (   self)

Definition at line 102 of file repository.py.

102  def root(self):
103  return self._root if self._root is not None else self._cfgRoot
104 

◆ tag()

def lsst.daf.persistence.repository.RepositoryArgs.tag (   self,
  tag 
)
add a tag to the repository cfg

Definition at line 113 of file repository.py.

113  def tag(self, tag):
114  """add a tag to the repository cfg"""
115  if isinstance(tag, str):
116  self.tags.add(tag)
117  else:
118  try:
119  self.tags.update(tag)
120  except TypeError:
121  self.tags.add(tag)
122 
123 

Member Data Documentation

◆ mapperArgs

lsst.daf.persistence.repository.RepositoryArgs.mapperArgs

Definition at line 77 of file repository.py.

◆ mode

lsst.daf.persistence.repository.RepositoryArgs.mode

Definition at line 79 of file repository.py.

◆ policy

lsst.daf.persistence.repository.RepositoryArgs.policy

Definition at line 80 of file repository.py.

◆ tags

lsst.daf.persistence.repository.RepositoryArgs.tags

Definition at line 78 of file repository.py.


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