LSSTApplications  17.0+103,17.0+11,17.0+61,18.0.0+13,18.0.0+25,18.0.0+5,18.0.0+52,18.0.0-4-g68ffd23,18.1.0-1-g0001055+8,18.1.0-1-g03d53ef+1,18.1.0-1-g1349e88+28,18.1.0-1-g2505f39+22,18.1.0-1-g380d4d4+27,18.1.0-1-g5315e5e+1,18.1.0-1-g5e4b7ea+10,18.1.0-1-g7e8fceb+1,18.1.0-1-g85f8cd4+23,18.1.0-1-g9a6769a+13,18.1.0-1-ga1a4c1a+22,18.1.0-1-gd55f500+17,18.1.0-12-g42eabe8e+10,18.1.0-14-gd04256d+15,18.1.0-16-g430f6a53+1,18.1.0-17-gd2166b6e4,18.1.0-18-gb5d19ff+1,18.1.0-2-gfbf3545+7,18.1.0-2-gfefb8b5+16,18.1.0-3-g52aa583+13,18.1.0-3-g62b5e86+14,18.1.0-3-g8f4a2b1+17,18.1.0-3-g9bc06b8+7,18.1.0-3-gb69f684+9,18.1.0-4-g1ee41a7+1,18.1.0-5-g6dbcb01+13,18.1.0-5-gc286bb7+3,18.1.0-6-g48bdcd3+2,18.1.0-6-gd05e160+9,18.1.0-7-gc4d902b+2,18.1.0-7-gebc0338+8,18.1.0-9-gae7190a+10,w.2019.38
LSSTDataManagementBasePackage
Classes | Functions
lsst.obs.base.gen3.repoConverter Namespace Reference

Classes

class  DataIdExtractor
 
class  RepoConverter
 

Functions

def findMapperClass (root)
 

Function Documentation

◆ findMapperClass()

def lsst.obs.base.gen3.repoConverter.findMapperClass (   root)
Find the mapper class associated with a Gen2 data repository root.

Parameters
----------
root : `str`
    Path to a Gen2 repository root directory.

Returns
-------
cls : `type`
    A subclass of `lsst.obs.base.CameraMapper`.

Raises
------
ValueError
    Raised if the directory does not appear to be the root of a
    Gen2 data repository.

Definition at line 40 of file repoConverter.py.

40 def findMapperClass(root):
41  """Find the mapper class associated with a Gen2 data repository root.
42 
43  Parameters
44  ----------
45  root : `str`
46  Path to a Gen2 repository root directory.
47 
48  Returns
49  -------
50  cls : `type`
51  A subclass of `lsst.obs.base.CameraMapper`.
52 
53  Raises
54  ------
55  ValueError
56  Raised if the directory does not appear to be the root of a
57  Gen2 data repository.
58  """
59  cfgPath = os.path.join(root, "repositoryCfg.yaml")
60  if os.path.exists(cfgPath):
61  with open(cfgPath, "r") as f:
62  repoCfg = yaml.load(f, Loader=yaml.UnsafeLoader)
63  return repoCfg.mapper
64  parentLinkPath = os.path.join(root, "_parent")
65  if os.path.exists(parentLinkPath):
66  return findMapperClass(os.readlink(parentLinkPath))
67  mapperFilePath = os.path.join(root, "_mapper")
68  if os.path.exists(mapperFilePath):
69  with open(mapperFilePath, "r") as f:
70  mapperClassPath = f.read().strip()
71  return doImport(mapperClassPath)
72  calibRegistryPath = os.path.join(root, "calibRegistry.sqlite3")
73  if os.path.exists(calibRegistryPath):
74  return findMapperClass(os.path.normpath(os.path.join(root, os.path.pardir)))
75  raise ValueError(f"Could not determine (Gen2) mapper class for repo at '{root}'.")
76 
77 
def doImport(pythonType)
Definition: utils.py:106
bool strip
Definition: fits.cc:883