Skip to content
Snippets Groups Projects
Commit 098f67e1 authored by Stefano Borini's avatar Stefano Borini
Browse files

Introduce Model base classes for enforcing interface and UI requirements

parent 6ac89a1b
No related branches found
No related tags found
1 merge request!15Introduce Model base classes for enforcing interface and UI requirements
from traits.api import HasStrictTraits, Int, String from traits.api import Int, String
from force_bdss.data_sources.base_data_source_model import BaseDataSourceModel
class CSVExtractorModel(HasStrictTraits):
class CSVExtractorModel(BaseDataSourceModel):
filename = String() filename = String()
row = Int() row = Int()
column = Int() column = Int()
......
from traits.api import HasStrictTraits, String from traits.api import String
from force_bdss.kpi.base_kpi_calculator_model import BaseKPICalculatorModel
class KPIAdderModel(HasStrictTraits):
class KPIAdderModel(BaseKPICalculatorModel):
cuba_type_in = String() cuba_type_in = String()
cuba_type_out = String() cuba_type_out = String()
......
from traits.api import HasStrictTraits, List, String from traits.api import List, String
from force_bdss.mco.base_mco_model import BaseMCOModel
class DakotaModel(HasStrictTraits):
class DakotaModel(BaseMCOModel):
value_types = List(String) value_types = List(String)
@classmethod @classmethod
......
import abc
import six
class BaseDataSourceModel(six.with_metaclass(abc.ABCMeta)):
@abc.abstractclassmethod
def from_json(self, model_data):
pass
import six
import abc
class BaseKPICalculatorModel(six.with_metaclass(abc.ABCMeta)):
@abc.abstractclassmethod
def from_json(self, model_data):
pass
import abc
import six
class BaseMCOModel(six.with_metaclass(abc.ABCMeta)):
@abc.abstractclassmethod
def from_json(self, model_data):
pass
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment