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 | List of all members
lsst.afw.typehandling._GenericMap.AutoKeyMeta Class Reference
Inheritance diagram for lsst.afw.typehandling._GenericMap.AutoKeyMeta:
lsst.afw.typehandling._SimpleGenericMap.SimpleGenericMap

Public Member Functions

def __call__ (cls, *args, **kwargs)
 

Detailed Description

A metaclass for abstract mappings whose key type is implied by their
constructor arguments.

This metaclass requires that the mapping have a `dict`-like constructor,
i.e., it takes a mapping or an iterable of key-value pairs as its first
positional parameter.

This class differs from `~lsst.utils.TemplateMeta` only in that the dtype
(or equivalent) constructor keyword is optional. If it is omitted, the
class will attempt to infer it from the first argument.

Definition at line 122 of file _GenericMap.py.

Member Function Documentation

◆ __call__()

def lsst.afw.typehandling._GenericMap.AutoKeyMeta.__call__ (   cls,
args,
**  kwargs 
)

Definition at line 135 of file _GenericMap.py.

135  def __call__(cls, *args, **kwargs): # noqa N805, non-self first param
136  if len(cls.TEMPLATE_PARAMS) != 1:
137  raise ValueError("AutoKeyMeta requires exactly one template parameter")
138  dtypeKey = cls.TEMPLATE_PARAMS[0]
139  dtype = kwargs.get(dtypeKey, None)
140 
141  # Try to infer dtype if not provided
142  if dtype is None and len(args) >= 1:
143  dtype = cls._guessKeyType(args[0])
144  if dtype is not None:
145  kwargs[dtypeKey] = dtype
146 
147  return super().__call__(*args, **kwargs)
148 

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