def do_point(self): #debug ''' self.debug(('self.',self,[ 'PointingGetVariable', 'PointingSetPathStr' ])) ''' #get self.PointedGetVariable=self[self.PointingGetVariable] #debug ''' self.debug( [ 'After getting', ('self.',self,[ 'PointingGetVariable', 'PointedGetVariable' ] ) ] ) ''' #set self.PointedPathBackStr=Pather.getPathedBackGetStrWithGetStr( self.PointingSetPathStr ) #set self.PointedLocalSetStr=self.PointingSetPathStr.split( self.PointedPathBackStr+Pather.PathPrefixStr )[-1] #debug ''' self.debug(('self.',self,[ 'PointingSetPathStr', 'PointedPathBackStr', 'PointedLocalSetStr' ])) ''' #set self.SettingKeyVariable=self.PointedPathBackStr+Pather.PathPrefixStr+PointPrefixStr+self.PointedLocalSetStr+PointSuffixStr #debug ''' self.debug(('self.',self,['SettingKeyVariable'])) ''' #set the point variable self[ self.SettingKeyVariable ]=self.PointedGetVariable #set a back pointer if self.PointingBackSetStr!="": #debug ''' self.debug( [ 'We point back here', ('self.',self,[ 'PointingSetPathStr', 'PointingBackSetStr' ]) ] ) ''' #Get self.PointedPathBackVariable=Pather.getPathedBackVariableWithVariableAndGetStr( self, self.PointingSetPathStr ) #debug ''' self.debug(('self.',self,[ 'PointedGetVariable', 'PointedPathBackVariable', 'PointingBackSetStr' ])) ''' #link self.PointedGetVariable[ self.PointingBackSetStr ]=self.PointedPathBackVariable
def mimic_set(self): """ """ #debug ''' self.debug(('self.',self,[ 'SettingKeyVariable', #'SettingValueVariable' ])) ''' #Definition OutputDict={'HookingIsBool':True} #Appending set if self.SettingKeyVariable.startswith(NodingPrefixGetStr): #Definition the SplittedStrsList SplittedStrsList=self.SettingKeyVariable.split(NodingSuffixGetStr) #Definition the NodingCollectionStr NodingCollectionStr=NodingPrefixGetStr.join( SplittedStrsList[0].split(NodingPrefixGetStr)[1:]) #Check if it is an append of Nodes IsNoderBool='NoderClass' in map( lambda __Class: __Class.__name__, type(self.SettingValueVariable).__mro__ ) #debug ''' self.debug(('vars ',vars(),['NodingCollectionStr','IsNoderBool'])) ''' #Nodify self.node( NodingCollectionStr, #**{'IsNoderBool':IsNoderBool} ) #Definition the KeyStr SetTagStr=NodingSuffixGetStr.join(SplittedStrsList[1:]) #debug ''' self.debug('SetTagStr is '+SetTagStr) ''' #Append (or set if it is already in) Pather.setWithPathVariableAndKeyVariable( self.NodedCollectionOrderedDict, Pather.PathPrefixStr+SetTagStr, self.SettingValueVariable ) if Pather.PathPrefixStr not in SetTagStr: #debug ''' self.debug(('self.',self,['SettingValueVariable'])) ''' #If it is an object if IsNoderBool: #global global NodingCollectionPrefixStr NodedMethodStr='__setattr__' NodedMethod=getattr(self.SettingValueVariable,NodedMethodStr) #Int and Set Child attributes NodedMethod( NodingCollectionPrefixStr+'CollectionStr', self.NodingCollectionStr ) NodedMethod( NodingCollectionPrefixStr+'IndexInt', len(self.NodedCollectionOrderedDict)-1 ) NodedMethod( NodingCollectionPrefixStr+'KeyStr', SetTagStr ) self.SettingValueVariable.point( self.NodedCollectionOrderedDict, NodingCollectionPrefixStr+'PointOrderedDict' ) self.SettingValueVariable.point( self, NodingCollectionPrefixStr+'PointDeriveNoder' ) #Return OutputDict['HookingIsBool']=False #<Hook>return OutputDict return OutputDict #Call the parent get method if OutputDict['HookingIsBool']: return BaseClass.set(self)
def set(self): """ """ #debug ''' self.debug('Start of the method') ''' #Definition OutputDict={'HookingIsBool':True} #Appending set if self.SettingKeyVariable.startswith(NodingPrefixGetStr): #Definition the SplittedStrsList SplittedStrsList=self.SettingKeyVariable.split(NodingSuffixGetStr) #Definition the NodingCollectionStr NodingCollectionStr=NodingPrefixGetStr.join( SplittedStrsList[0].split(NodingPrefixGetStr)[1:]) #Check if it is an append of Nodes IsNoderBool='NoderClass' in map( lambda __Class: __Class.__name__, type(self.SettingValueVariable).__mro__ ) #debug ''' self.debug(('vars ',vars(),['NodingCollectionStr','IsNoderBool'])) ''' #Nodify self.node(NodingCollectionStr,**{'IsNoderBool':IsNoderBool}) #Definition the KeyStr SettedKeyStr=NodingSuffixGetStr.join(SplittedStrsList[1:]) #debug ''' self.debug('KeyStr is '+KeyStr) ''' #Append (or set if it is already in) Pather.setWithPathVariableAndKeyVariable( self.NodedCollectionOrderedDict, Pather.PathPrefixStr+SettedKeyStr, self.SettingValueVariable ) #If it is an object if IsNoderBool: #Int and Set Child attributes self.SettingValueVariable.__setattr__(self.NodedPrefixStr+'Int',len(self.NodedCollectionOrderedDict)-1) NodedStrKeyStr=self.NodedPrefixStr+'KeyStr' self.SettingValueVariable.__setitem__(NodedStrKeyStr,SettedKeyStr) self.SettingValueVariable.__setattr__(self.NodedPrefixStr+'ParentPointer',self) #Init GrandChild attributes ''' self.SettingValueVariable.__setattr__(self.NodedPrefixStr+'PathStr',"") self.SettingValueVariable.__setattr__(self.NodedPrefixStr+'GrandParentPointersList',[]) ''' #Return OutputDict['HookingIsBool']=False #<Hook>return OutputDict #Call the parent get method if OutputDict['HookingIsBool']: BaseClass.set(self)