':param name: The name of this option. Must be a valid python identifier
:param type_: The type of this option, one of (\'number\', \'string\',
\'bool\', \'choices\')
:param default: The default value for this option
:param label: A short (few words) description of this option
:param desc: A longer description of this option
:param choices: A dict of possible values, used only if type=\'choices\'.
dict is of the form {key:human readable label, ...}'

def __init__(self, name, type_, default, label, desc, choices=None):

    (self.name, self.type, self.default, self.label, self.desc) = (name, type_, default, label, desc)
    if (choices and (not isinstance(choices, dict))):
        choices = dict([(x, x) for x in choices])
    self.choices = choices
