From f81a46d07d1c61effcc9d7a80b2d02a0f6a5f36b Mon Sep 17 00:00:00 2001 From: Samuel Gaist <samuel.gaist@idiap.ch> Date: Tue, 5 Mar 2019 11:38:57 +0100 Subject: [PATCH] [backend][assetmodel] Made AssetType a python enum This will make the enum itself more usable. Style wise, this makes it an independent element of AssetModel. --- beat/editor/backend/assetmodel.py | 29 +++++++++++++++-------------- beat/editor/test/test_models.py | 6 +++--- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/beat/editor/backend/assetmodel.py b/beat/editor/backend/assetmodel.py index 17388b79..42350099 100644 --- a/beat/editor/backend/assetmodel.py +++ b/beat/editor/backend/assetmodel.py @@ -25,25 +25,28 @@ import os +from enum import Enum + from PyQt5.QtCore import pyqtSignal from PyQt5.QtCore import pyqtSlot from PyQt5.QtCore import pyqtProperty -from PyQt5.QtCore import Q_ENUMS from PyQt5.QtCore import QStringListModel -class AssetType: +class AssetType(Enum): """All possible assets available on the BEAT platform""" - Unknown = 0 - Algorithm = 1 - Database = 2 - Dataformat = 3 - Experiment = 4 - Library = 5 - Plotter = 6 - PlotterParameters = 7 - Toolchain = 8 + ( + Unknown, + Algorithm, + Database, + Dataformat, + Experiment, + Library, + Plotter, + PlotterParameters, + Toolchain, + ) = range(9) @classmethod def path(cls, type_): @@ -68,11 +71,9 @@ class AssetType: return path -class AssetModel(QStringListModel, AssetType): +class AssetModel(QStringListModel): """The asset model present a list of available asset from a given type""" - Q_ENUMS(AssetType) - assetTypeChanged = pyqtSignal(AssetType) prefixPathChanged = pyqtSignal(str) diff --git a/beat/editor/test/test_models.py b/beat/editor/test/test_models.py index 44c4a420..da672532 100644 --- a/beat/editor/test/test_models.py +++ b/beat/editor/test/test_models.py @@ -23,7 +23,7 @@ # # ############################################################################### -from ..backend.assetmodel import AssetModel +from ..backend.assetmodel import AssetModel, AssetType class TestAssetModel: @@ -31,7 +31,7 @@ class TestAssetModel: def test_model_load(self, qtbot, test_prefix): model = AssetModel() - asset_type = AssetModel.Dataformat + asset_type = AssetType.Dataformat with qtbot.waitSignals( [model.assetTypeChanged, model.prefixPathChanged] @@ -48,7 +48,7 @@ class TestAssetModel: def test_experiment_model_load(self, qtbot, test_prefix): model = AssetModel() - asset_type = AssetModel.Experiment + asset_type = AssetType.Experiment with qtbot.waitSignals( [model.assetTypeChanged, model.prefixPathChanged] -- GitLab