Source code for safe.common.resource_parameter

# coding=utf-8
"""Docstring for this file."""
__author__ = 'Christian Christelis'
__project_name = 'parameters'
__filename = 'resource_parameter'
__date__ = '11/11/14'
__copyright__ = 'kartoza.com'

import os
import sys
PARAMETERS_DIR = os.path.abspath(
    os.path.join(
        os.path.dirname(__file__), '..', '..', 'safe_extras', 'parameters'))
if PARAMETERS_DIR not in sys.path:
    sys.path.append(PARAMETERS_DIR)

from safe_extras.parameters.float_parameter import FloatParameter
from safe_extras.parameters.unit import Unit


[docs]class ResourceParameter(FloatParameter): """A parameter handling specifically the resources used in InaSAFE minimum needs. :param guid: The unique reference to use when addressing this value. :type guid: str, None """ def __init__(self, guid=None): super(ResourceParameter, self).__init__(guid) self._frequency = '' self._unit = Unit() @property def frequency(self): """The frequency that the resource needs to be supplied getter. :returns: The frequency. :rtype: str """ return self._frequency @frequency.setter
[docs] def frequency(self, frequency): """Set the frequency that the resource needs to be supplied. :param frequency: The frequency of the resource. :type frequency: str """ self._frequency = frequency
[docs] def serialize(self): """Convert the parameter into a dictionary. :return: The parameter dictionary. :rtype: dict """ pickle = super(ResourceParameter, self).serialize() pickle['frequency'] = self.frequency pickle['unit'] = self._unit.serialize() return pickle # pylint: disable=W0221
@property def unit(self): """Property for the unit for the parameter. :returns: The unit of the parameter. :rtype: Unit """ return self._unit @unit.setter
[docs] def unit(self, unit): """Setter for unit for the parameter. :param unit: Unit for parameter :type unit: Unit """ self._unit = unit # pylint: enable=W0221