From 7f823c4bba647bb1b474fc0a5ca447fa9068500d Mon Sep 17 00:00:00 2001 From: Loic Huder Date: Thu, 27 Jun 2024 13:35:21 +0200 Subject: [PATCH 1/3] Fix doc title of the `retry` module page --- doc/source/modules/utils/retry.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/modules/utils/retry.rst b/doc/source/modules/utils/retry.rst index e176bc0f20..a0288745ff 100644 --- a/doc/source/modules/utils/retry.rst +++ b/doc/source/modules/utils/retry.rst @@ -1,6 +1,6 @@ .. currentmodule:: silx.utils -:mod:`weakref` +:mod:`retry` --------------- .. automodule:: silx.utils.retry From e57c30309ea666f6dc12c70b0ef8606b649cbbde Mon Sep 17 00:00:00 2001 From: Loic Huder Date: Thu, 11 Jul 2024 08:47:26 +0200 Subject: [PATCH 2/3] Add enum to the doc --- doc/source/modules/utils/enum.rst | 7 +++++++ doc/source/modules/utils/index.rst | 1 + 2 files changed, 8 insertions(+) create mode 100644 doc/source/modules/utils/enum.rst diff --git a/doc/source/modules/utils/enum.rst b/doc/source/modules/utils/enum.rst new file mode 100644 index 0000000000..c9a43c1226 --- /dev/null +++ b/doc/source/modules/utils/enum.rst @@ -0,0 +1,7 @@ +.. currentmodule:: silx.utils + +:mod:`enum` +--------------- + +.. automodule:: silx.utils.enum + :members: \ No newline at end of file diff --git a/doc/source/modules/utils/index.rst b/doc/source/modules/utils/index.rst index ae07debb6d..8a1d4fd32b 100644 --- a/doc/source/modules/utils/index.rst +++ b/doc/source/modules/utils/index.rst @@ -6,6 +6,7 @@ array_like.rst decorators.rst + enum.rst testutils.rst weakref.rst retry.rst From 26c6dda2ae5a40626986dc42895040559a595274 Mon Sep 17 00:00:00 2001 From: Loic Huder Date: Thu, 11 Jul 2024 08:47:49 +0200 Subject: [PATCH 3/3] Deprecate `Enum.from_value` --- src/silx/gui/dialog/ColormapDialog.py | 2 +- src/silx/gui/plot/ImageView.py | 2 +- src/silx/gui/plot/StatsWidget.py | 4 ++-- src/silx/gui/plot/items/complex.py | 8 ++++---- src/silx/gui/plot/items/core.py | 6 +++--- src/silx/gui/plot/items/image_aggregated.py | 2 +- src/silx/gui/plot/items/scatter.py | 2 +- src/silx/gui/plot3d/Plot3DWidget.py | 2 +- src/silx/gui/plot3d/items/volume.py | 2 +- src/silx/utils/enum.py | 3 ++- src/silx/utils/test/test_enum.py | 5 ----- 11 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/silx/gui/dialog/ColormapDialog.py b/src/silx/gui/dialog/ColormapDialog.py index fa30ca6ec2..7dadfd05b4 100644 --- a/src/silx/gui/dialog/ColormapDialog.py +++ b/src/silx/gui/dialog/ColormapDialog.py @@ -763,7 +763,7 @@ def _plotGammaMarkerConstraint(self, x, y): return x, y def setDisplayMode(self, mode: str | DisplayMode): - mode = DisplayMode.from_value(mode) + mode = DisplayMode(mode) if mode is DisplayMode.HISTOGRAM: action = self._dataHistogramAction elif mode is DisplayMode.RANGE: diff --git a/src/silx/gui/plot/ImageView.py b/src/silx/gui/plot/ImageView.py index dc5d53ed6c..37710f03c5 100644 --- a/src/silx/gui/plot/ImageView.py +++ b/src/silx/gui/plot/ImageView.py @@ -747,7 +747,7 @@ def setProfileWindowBehavior(self, behavior: Union[str, ProfileWindowBehavior]): - 'embedded': Horizontal, vertical and cross profiles are displayed in sides widgets, others are displayed in pop-up windows. """ - behavior = self.ProfileWindowBehavior.from_value(behavior) + behavior = self.ProfileWindowBehavior(behavior) if behavior is not self.getProfileWindowBehavior(): manager = self.__profile.getProfileManager() manager.clearProfile() diff --git a/src/silx/gui/plot/StatsWidget.py b/src/silx/gui/plot/StatsWidget.py index 0c37f52e58..c4027dfe92 100644 --- a/src/silx/gui/plot/StatsWidget.py +++ b/src/silx/gui/plot/StatsWidget.py @@ -533,7 +533,7 @@ def setUpdateMode(self, mode): :param mode: mode requested for update :type mode: Union[str,UpdateMode] """ - mode = UpdateMode.from_value(mode) + mode = UpdateMode(mode) if mode != self._updateMode: self._updateMode = mode self._updateModeHasChanged() @@ -1011,7 +1011,7 @@ def setUpdateMode(self, mode): :param mode: mode requested for update :type mode: Union[str,UpdateMode] """ - mode = UpdateMode.from_value(mode) + mode = UpdateMode(mode) if mode is UpdateMode.AUTO: if not self._autoRB.isChecked(): diff --git a/src/silx/gui/plot/items/complex.py b/src/silx/gui/plot/items/complex.py index af6862386b..abf5ba0381 100644 --- a/src/silx/gui/plot/items/complex.py +++ b/src/silx/gui/plot/items/complex.py @@ -226,7 +226,7 @@ def setColormap(self, colormap, mode=None): if mode is None: mode = self.getComplexMode() else: - mode = self.ComplexMode.from_value(mode) + mode = self.ComplexMode(mode) self._colormaps[mode] = colormap if mode is self.getComplexMode(): @@ -245,7 +245,7 @@ def getColormap(self, mode=None): if mode is None: mode = self.getComplexMode() else: - mode = self.ComplexMode.from_value(mode) + mode = self.ComplexMode(mode) return self._colormaps[mode] @@ -343,7 +343,7 @@ def getData(self, copy=True, mode=None): if mode is None: mode = self.getComplexMode() else: - mode = self.ComplexMode.from_value(mode) + mode = self.ComplexMode(mode) if mode not in self._dataByModesCache: self._dataByModesCache[mode] = self.__convertComplexData( @@ -364,7 +364,7 @@ def getRgbaImageData(self, copy=True, mode=None): if mode is None: mode = self.getComplexMode() else: - mode = self.ComplexMode.from_value(mode) + mode = self.ComplexMode(mode) colormap = self.getColormap(mode=mode) if mode is self.ComplexMode.AMPLITUDE_PHASE: diff --git a/src/silx/gui/plot/items/core.py b/src/silx/gui/plot/items/core.py index 236a3caad3..769a754b10 100644 --- a/src/silx/gui/plot/items/core.py +++ b/src/silx/gui/plot/items/core.py @@ -1155,7 +1155,7 @@ def setComplexMode(self, mode): :return: True if value was set, False if is was already set :rtype: bool """ - mode = self.ComplexMode.from_value(mode) + mode = self.ComplexMode(mode) assert mode in self.supportedComplexModes() if mode != self.__complex_mode: @@ -1355,7 +1355,7 @@ def setVisualization(self, mode): :return: True if value was set, False if is was already set :rtype: bool """ - mode = self.Visualization.from_value(mode) + mode = self.Visualization(mode) assert mode in self.supportedVisualizations() if mode != self.__visualization: @@ -1385,7 +1385,7 @@ def setVisualizationParameter(self, parameter, value=None): :rtype: bool :raise ValueError: If value is not supported """ - parameter = self.VisualizationParameter.from_value(parameter) + parameter = self.VisualizationParameter(parameter) if self.__parameters[parameter] != value: validValues = self.supportedVisualizationParameterValues(parameter) diff --git a/src/silx/gui/plot/items/image_aggregated.py b/src/silx/gui/plot/items/image_aggregated.py index b35e00a3fd..c7c0f684d8 100644 --- a/src/silx/gui/plot/items/image_aggregated.py +++ b/src/silx/gui/plot/items/image_aggregated.py @@ -74,7 +74,7 @@ def setAggregationMode(self, mode: Union[str, Aggregation]): :param Aggregation mode: The aggregation method """ - aggregationMode = self.Aggregation.from_value(mode) + aggregationMode = self.Aggregation(mode) if aggregationMode != self.__aggregationMode: self.__aggregationMode = aggregationMode self.__cacheLODData = {} # Clear cache diff --git a/src/silx/gui/plot/items/scatter.py b/src/silx/gui/plot/items/scatter.py index f1eedfa90c..af04a9b02b 100644 --- a/src/silx/gui/plot/items/scatter.py +++ b/src/silx/gui/plot/items/scatter.py @@ -339,7 +339,7 @@ def setVisualization(self, mode): @docstring(ScatterVisualizationMixIn) def setVisualizationParameter(self, parameter, value): - parameter = self.VisualizationParameter.from_value(parameter) + parameter = self.VisualizationParameter(parameter) if super(Scatter, self).setVisualizationParameter(parameter, value): if parameter in ( diff --git a/src/silx/gui/plot3d/Plot3DWidget.py b/src/silx/gui/plot3d/Plot3DWidget.py index 9a88fe3cb0..fb1394276c 100644 --- a/src/silx/gui/plot3d/Plot3DWidget.py +++ b/src/silx/gui/plot3d/Plot3DWidget.py @@ -279,7 +279,7 @@ def setFogMode(self, mode): :param Union[str,FogMode] mode: The mode to use :raise ValueError: If mode is not supported """ - mode = self.FogMode.from_value(mode) + mode = self.FogMode(mode) if mode != self.getFogMode(): self.viewport.fog.isOn = mode is self.FogMode.LINEAR self.sigStyleChanged.emit("fogMode") diff --git a/src/silx/gui/plot3d/items/volume.py b/src/silx/gui/plot3d/items/volume.py index 0c56a5ed2c..8c6913c670 100644 --- a/src/silx/gui/plot3d/items/volume.py +++ b/src/silx/gui/plot3d/items/volume.py @@ -818,7 +818,7 @@ def __init__(self, parent=None): @docstring(ComplexMixIn) def setComplexMode(self, mode): - mode = ComplexMixIn.ComplexMode.from_value(mode) + mode = ComplexMixIn.ComplexMode(mode) if mode != self.getComplexMode(): self.clearIsosurfaces() # Reset isosurfaces ComplexMixIn.setComplexMode(self, mode) diff --git a/src/silx/utils/enum.py b/src/silx/utils/enum.py index 176d429cf4..d16321fa78 100644 --- a/src/silx/utils/enum.py +++ b/src/silx/utils/enum.py @@ -27,7 +27,7 @@ __license__ = "MIT" __date__ = "29/04/2019" - +from silx.utils.deprecation import deprecated import enum @@ -35,6 +35,7 @@ class Enum(enum.Enum): """Enum with additional class methods.""" @classmethod + @deprecated(since_version="2.1.1", replacement="Enum(value)") def from_value(cls, value): """Convert a value to corresponding Enum member diff --git a/src/silx/utils/test/test_enum.py b/src/silx/utils/test/test_enum.py index c652abf6bb..89ce25f556 100644 --- a/src/silx/utils/test/test_enum.py +++ b/src/silx/utils/test/test_enum.py @@ -28,7 +28,6 @@ __date__ = "29/04/2019" -import pytest from silx.utils.enum import Enum @@ -43,7 +42,3 @@ class Success(Enum): assert Success.names() == ("A", "B") assert Success.values() == (1, "B") - assert Success.from_value(1) == Success.A - assert Success.from_value("B") == Success.B - with pytest.raises(ValueError): - Success.from_value(3)