Coverage for python/lsst/afw/image/_filter.py : 71%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# This file is part of afw.
2#
3# Developed for the LSST Data Management System.
4# This product includes software developed by the LSST Project
5# (https://www.lsst.org).
6# See the COPYRIGHT file at the top-level directory of this distribution
7# for details of code ownership.
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 GNU General Public License
20# along with this program. If not, see <https://www.gnu.org/licenses/>.
21"""This file only exists to deprecate the Filter and FilterProperty classes.
22"""
23import warnings
24from lsst.utils import continueClass
25from ._imageLib import Filter, FilterProperty
27__all__ = ['Filter', 'FilterProperty']
30@continueClass
31class Filter:
32 # NOTE: Using `deprecate_pybind11` causes the `AUTO` and `UNKNOWN` static
33 # members to become `pybind11_builtins.pybind11_static_property` instead
34 # of `int`, which breaks any uses of them in the python layer, so we
35 # deprecate this way instead.
36 _init = Filter.__init__
37 _reset = Filter.reset
38 _define = Filter.define
39 _getNames = Filter.getNames
40 _deprecate_warning = "Replaced by FilterLabel. Will be removed after v22."
42 def __init__(self, *args, **kwargs):
43 warnings.warn(self._deprecate_warning, FutureWarning, stacklevel=2)
44 return self._init(*args, **kwargs)
46 @staticmethod
47 def reset(*args, **kwargs):
48 warnings.warn(Filter._deprecate_warning, FutureWarning, stacklevel=2)
49 Filter._reset(*args, **kwargs)
51 @staticmethod
52 def define(*args, **kwargs):
53 warnings.warn(Filter._deprecate_warning, FutureWarning, stacklevel=2)
54 return Filter._define(*args, **kwargs)
56 @staticmethod
57 def getNames(*args, **kwargs):
58 warnings.warn(Filter._deprecate_warning, FutureWarning, stacklevel=2)
59 return Filter._getNames(*args, **kwargs)
62@continueClass
63class FilterProperty:
64 # NOTE: Using `deprecate_pybind11` breaks the ability to call the `reset`
65 # static method so we deprecate this way instead.
66 _init = FilterProperty.__init__
67 _lookup = FilterProperty.lookup
68 _reset = FilterProperty.reset
69 _deprecate_warning = ("Removed with no replacement (but see lsst.afw.image.TransmissionCurve)."
70 "Will be removed after v22.")
72 def __init__(self, *args, **kwargs):
73 warnings.warn(self._deprecate_warning, FutureWarning, stacklevel=2)
74 return self._init(*args, **kwargs)
76 @staticmethod
77 def reset(*args, **kwargs):
78 warnings.warn(FilterProperty._deprecate_warning, FutureWarning, stacklevel=2)
79 FilterProperty._reset(*args, **kwargs)
81 @staticmethod
82 def lookup(*args, **kwargs):
83 warnings.warn(FilterProperty._deprecate_warning, FutureWarning, stacklevel=2)
84 return FilterProperty._lookup(*args, **kwargs)