# -*- coding: utf-8 -*-
"""
<DefineSource>
@Date : Fri Nov 14 13:20:38 2014 \n
@Author : Erwan Ledoux \n\n
</DefineSource>
A Deleter has a __delitem__ method for deleting things in the <InstanceVariable>.__dict__
"""
#<DefineAugmentation>
import ShareYourSystem as SYS
BaseModuleStr="ShareYourSystem.Standards.Itemizers.Setter"
DecorationModuleStr="ShareYourSystem.Standards.Classors.Classer"
SYS.setSubModule(globals())
#</DefineAugmentation>
#<ImportSpecificModules>
#</ImportSpecificModules>
#<DefineClass>
@DecorationClass()
class DeleterClass(BaseClass):
    def default_init(self,
                        _DeletingKeyVariable=None,
                        **_KwargVariablesDict
                    ):
        """ """     
        #Call the parent init method
        BaseClass.__init__(self,**_KwargVariablesDict)
    #@Argumenter.ArgumenterClass(**{'ArgumentingDoStr':"Delete"})
    def __delitem__(self,_KeyVariable,**_KwargVariablesDict):
        """ """
        #debug
        '''
        self.debug(('self.',self,['DeletingKeyVariable']))
        '''
        #Delete
        self.delete(_KeyVariable)
        #set
        return self
    def do_delete(self):
        """ """
        #Do the minimal delitem
        if type(self.DeletingKeyVariable) in [str,unicode]:
            #Del Safely the Value
            if self.DeletingKeyVariable in self.__dict__:
                del self.__dict__[self.DeletingKeyVariable]
#</DefineClass>
View the Deleter sources on Github
#ImportModules
import ShareYourSystem as SYS
from ShareYourSystem.Standards.Itemizers import Deleter
#Definition a Deleter
MyDeleter=Deleter.DeleterClass().__setitem__('MyInt',0).__delitem__('MyInt')
#Definition the AttestedStr
SYS._attest(
    [
    'MyDeleter is '+SYS._str(
            MyDeleter,
            **{
            'RepresentingBaseKeyStrsListBool':False,
            'RepresentingAlineaIsBool':False
            }
        )
    ]
) 
#Print
>>>
*****Start of the Attest *****
MyDeleter is < (DeleterClass), 4540871120>
   /{ 
   /  '<New><Instance>IdInt' : 4540871120
   /}
*****End of the Attest *****