@utils.positional(<NUM_LIT:1> + _positional)  <EOL><INDENT>def __init__(self, name=None, indexed=None, repeated=None,<EOL>required=None, default=None, choices=None, validator=None,<EOL>verbose_name=None, write_empty_list=None):<DEDENT>
if name is not None:<EOL><INDENT>if isinstance(name, unicode):<EOL><INDENT>name = name.encode('<STR_LIT:utf-8>')<EOL><DEDENT>if not isinstance(name, str):<EOL><INDENT>raise TypeError('<STR_LIT>' % (name,))<EOL><DEDENT>if '<STR_LIT:.>' in name:<EOL><INDENT>raise ValueError('<STR_LIT>' % (name,))<EOL><DEDENT>self._name = name<EOL><DEDENT>if indexed is not None:<EOL><INDENT>self._indexed = indexed<EOL><DEDENT>if repeated is not None:<EOL><INDENT>self._repeated = repeated<EOL><DEDENT>if required is not None:<EOL><INDENT>self._required = required<EOL><DEDENT>if default is not None:<EOL><INDENT>self._default = default<EOL><DEDENT>if verbose_name is not None:<EOL><INDENT>self._verbose_name = verbose_name<EOL><DEDENT>if write_empty_list is not None:<EOL><INDENT>self._write_empty_list = write_empty_list<EOL><DEDENT>if self._repeated and (self._required or self._default is not None):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if choices is not None:<EOL><INDENT>if not isinstance(choices, (list, tuple, set, frozenset)):<EOL><INDENT>raise TypeError('<STR_LIT>' %<EOL>choices)<EOL><DEDENT>self._choices = frozenset(choices)<EOL><DEDENT>if validator is not None:<EOL><INDENT>if not hasattr(validator, '<STR_LIT>'):<EOL><INDENT>raise TypeError('<STR_LIT>' %<EOL>validator)<EOL><DEDENT>self._validator = validator<EOL><DEDENT>Property.__creation_counter_global += <NUM_LIT:1><EOL>self._creation_counter = Property.__creation_counter_global<EOL>
Constructor.  For arguments see the module docstring.