def set(self, value, custom_command=True):
        """Set the current value of this OptionMenu instance.

        Parameters
        ==========
        value (any python object)
            value to which the widget will be set. It must
            be inside the list in the "options" attribute;
            no type checking is performed, since the items
            of the option list are already type set;
        custom_command (boolean)
            indicates whether the custom command must be
            executed or not.
        """
        ### if the value is already set, exit the method by
        ### returning, since choosing a value which is
        ### already chosen isn't considered a change at all
        if self.value == value:
            return

        ### if value received isn't within allowed values
        ### (values inside "options" attribute), report and
        ### cancel this operation by returning

        if value not in self.options:

            print("'value' isn't among available options")
            return

        ### assign the value to the "value" attribute
        self.value = value

        ### update image so it corresponds with value
        self.update_image()

        ### execute custom command if requested
        if custom_command:
            self.command()
Set the current value of this OptionMenu instance.

        Parameters
        ==========
        value (any python object)
            value to which the widget will be set. It must
            be inside the list in the "options" attribute;
            no type checking is performed, since the items
            of the option list are already type set;
        custom_command (boolean)
            indicates whether the custom command must be
            executed or not.
        
nodezator/widget/optionmenu/op.py