def set_description(self, description=None):
if description is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>metadata = Metadata(**settings.METADATA['<STR_LIT:description>'])<EOL>if metadata.is_read_only():<EOL><INDENT>raise NoAccess()<EOL><DEDENT>if self._is_valid_input(description, metadata, array=False):<EOL><INDENT>self._my_map['<STR_LIT:description>']['<STR_LIT:text>'] = description<EOL><DEDENT>else:<EOL><INDENT>raise InvalidArgument<EOL><DEDENT>
Sets a description.

        arg:    description (string): the new description
        raise:  InvalidArgument - description is invalid
        raise:  NoAccess - metadata.is_readonly() is true
        raise:  NullArgument - description is null
        compliance: mandatory - This method must be implemented.