Source code for pybpodgui_api.models.setup.task_variable

# !/usr/bin/python3
# -*- coding: utf-8 -*-
import logging

logger = logging.getLogger(__name__)


[docs]class TaskVariable(object): def __init__(self, board_task, name=None, value=None, datatype='string'): self.board_task = board_task self.name = name self.value = value self.datatype = datatype board_task += self def __str__(self): return "{name} = {value}".format( name=self.name, value=("'"+self.value+"'") if self.datatype == 'string' else self.value ) @property def name(self): """ Get and set variable name :rtype: str """ return self._name @name.setter def name(self, value): self._name = value @property def value(self): """ Get and set variable value :rtype: str """ return self._value @value.setter def value(self, value): self._value = value @property def datatype(self): """ Get and set variable data type. It can be from type 'number' or 'string' :rtype: str """ return self._datatype @datatype.setter def datatype(self, value): self._datatype = value def collect_data(self, data): data.update({'name': str(self.name)}) data.update({'value': self.value}) data.update({'datatype': str(self.datatype)}) return data
[docs] def save(self): """ Save variable data on filesystem. :ivar str setup_path: Setup path. :return: Dictionary containing the variable info to save. :rtype: dict """ data2save = {} data2save.update({'name': str(self.name)}) data2save.update({'value': self.value}) data2save.update({'datatype': str(self.datatype)}) return data2save
[docs] def load(self, data): """ Load variable data from filesystem :ivar str setup_path: Path of the setup :ivar dict data: data object that contains all setup info """ self.name = data['name'] self.value = data['value'] self.datatype = data['datatype']