Coverage for python/lsst/daf/persistence/test/testMapper.py: 33%
26 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-05 02:50 -0800
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-05 02:50 -0800
1#!/usr/bin/env python
2#
3# LSST Data Management System
4# Copyright 2017 LSST Corporation.
5#
6# This product includes software developed by the
7# LSST Project (http://www.lsst.org/).
8#
9# This program is free software: you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation, either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the LSST License Statement and
20# the GNU General Public License along with this program. If not,
21# see <http://www.lsstcorp.org/LegalNotices/>.
22#
24import os
26from .. import ButlerLocation
27from .. import Mapper
28from .. import Storage
29from . import TestObject
32class EmptyTestMapper(Mapper):
33 """Class that can be used as a stub for a mapper."""
35 def __init__(self, root=None, parentRegistry=None, repositoryCfg=None, **kwargs):
36 self.root = root
37 self.kwargs = kwargs
38 pass
41class MapperForTestWriting(Mapper):
43 def __init__(self, root, **kwargs):
44 self.root = root
45 self.storage = Storage.makeFromURI(self.root)
47 def map_foo(self, dataId, write):
48 python = TestObject
49 persistable = None
50 storage = 'PickleStorage'
51 fileName = 'filename'
52 for key, value in sorted(dataId.items()):
53 fileName += '_' + key + str(value)
54 fileName += '.txt'
55 path = os.path.join(self.root, fileName)
56 if not write and not os.path.exists(path):
57 return None
58 return ButlerLocation(python, persistable, storage, path, dataId, self, self.storage)