예제 #1
0
	def do__class(self):

		#Definition the MethodsList
		ClassedFunctionsList=SYS._filter(
			lambda __ListedVariable:
				type(__ListedVariable).__name__=="function"
				if hasattr(__ListedVariable,'__name__')
				else False,
				self.DoClass.__dict__.values()
		)

		#debug
		'''
		print('l 66 Classer')
		print("ClassedFunctionsList is ",WatchedFunctionsList)
		print('Set all the mimick methods')
		print('')
		'''

		#/###################/#
		# Mimic all that you can find 
		#

		#Get all the hooking methods
		ClassedMimickFunctionsList=SYS._filter(
			lambda __ListedVariable:
			__ListedVariable.__name__.startswith(
					Mimicker.MimickingWrapPrefixStr
			)
			if hasattr(__ListedVariable,'__name__')
			else False,
			ClassedFunctionsList
		)

		#debug
		'''
		print('l 82 Classer')
		print("ClassedMimickFunctionsList is ",ClassedMimickFunctionsList)
		print('')
		'''

		#map
		map(	
				lambda __ClassedMimickFunction:
				self.mimic(
					Mimicker.MimickingWrapPrefixStr.join(
						__ClassedMimickFunction.__name__.split(
							Mimicker.MimickingWrapPrefixStr)[1:]
						)
				),
				ClassedMimickFunctionsList
			)

		#/###################/#
		# Set the watch methods 
		#

		#debug
		'''
		print('l 104 Classer')
		print('set the watch functions')
		print('self.ClassingWatchMethodStrsList is ',self.ClassingWatchMethodStrsList)
		print('self.DoClass.DoMethodStr is ',self.DoClass.DoMethodStr)
		print('')
		'''
		
		#map
		map(	
				lambda __ClassingWatchUnboundMethodStr:
				self.watch(
					True,
					**{'ObservingWrapMethodStr':__ClassingWatchUnboundMethodStr}
				),
				self.ClassingWatchMethodStrsList
			)

		#/###################/#
		# Set the switch methods 
		#

		#debug
		'''
		print('l 104 Classer')
		print('set the switch functions')
		print('self.ClassingSwitchMethodStrsList is ',self.ClassingSwitchMethodStrsList)
		print('self.DoClass.DoMethodStr is ',self.DoClass.DoMethodStr)
		print('')
		'''
		
		#map
		map(	
				lambda __ClassingSwitchUnboundMethodStr:
				self.switch(
					True,
					__ClassingSwitchUnboundMethodStr
				),
				self.ClassingSwitchMethodStrsList
			)

		#/###################/#
		# Check for overriden propertize_ methods 
		#

		#Debug
		'''
		print('Classer l 125')
		print('Check for overriden propertize_ methods ')
		print('self.DoClass.InspectMethodDict')
		print(self.DoClass.InspectMethodDict)
		print('')
		'''

		#filter
		ClassedPropertyNewMethodDict=dict(
			SYS._filter(
				lambda __MethodItemTuple:
				__MethodItemTuple[0].startswith(
						Propertiser.PropertyPrefixStr
					) and (
					SYS.getNewMethodBool(self.DoClass,__MethodItemTuple[0])
					#getattr(
					#	self.DoClass.__bases__[0],
					#	__MethodItemTuple[0]
					#)!=__MethodItemTuple[1]
					#if hasattr(self.DoClass.__bases__[0],
					#	__MethodItemTuple[0]
					#) else True
				),
				self.DoClass.InspectMethodDict.items()
			)
		)

		#Debug
		'''
		print('Classer l 147')
		print('self.DoClass is ')
		print(self.DoClass)
		print('ClassedPropertyNewMethodDict is')
		print(SYS.indent(ClassedPropertyNewMethodDict))
		print('')
		'''
		
		#map
		ClassedPropertyKeyStrsList=map(
				lambda __PropertizedKeyStr:
				SYS.deprefix(
					__PropertizedKeyStr,
					Propertiser.PropertyPrefixStr
				)[3:],
				ClassedPropertyNewMethodDict.keys()
			)

		#map reset the properties
		map(
				lambda __PropertyKeyStr:
				setattr(
						self.DoClass,
						__PropertyKeyStr,
						property(
								getattr(
									self.DoClass,
									Propertiser.PropertyPrefixStr+'get'+__PropertyKeyStr
								),
								getattr(
									self.DoClass,
									Propertiser.PropertyPrefixStr+'set'+__PropertyKeyStr
								),
								getattr(
									self.DoClass,
									Propertiser.PropertyPrefixStr+'del'+__PropertyKeyStr
								)
							)
					),
				ClassedPropertyKeyStrsList
			)

		#/###################/#
		# Set maybe a structure 
		#

		#Check
		if self.ClassingStructureVariable!=None:

			#Check
			if hasattr(
					self.ClassingStructureVariable,'items'
				):
				ClassedStructureVariable=self.ClassingStructureVariable.items()
			else:
				ClassedStructureVariable=self.ClassingStructureVariable


			#debug
			'''
			print('Classer l 241')
			print('We structure here')
			print('self.ClassingStructureVariable is ')
			print(self.ClassingStructureVariable)
			print('')
			'''

			#map add the sing plurals
			map(
				lambda __ItemTuple:
				SYS.addSingPlural(
					*__ItemTuple
				),
				ClassedStructureVariable
			)

			#Define a class
			class StructureClass(SYS.StructurerClass):pass
			StructureClass.__name__=SYS.getClassStrWithNameStr(self.DoClass.NameStr+'sStructurer')
			StructureClass.ManagingValueClass=self.DoClass

			#set
			setattr(
				self.Module,
				StructureClass.__name__,
				StructureClass
			)

			#dict
			ClassesDict=dict(
					map(
						lambda __ItemTuple:
						(__ItemTuple[1],StructureClass),
						ClassedStructureVariable
					)
				)

			#map
			if self.DoClass.TeamingClassesDict==None:
				self.DoClass.TeamingClassesDict=ClassesDict
			else:
				self.DoClass.TeamingClassesDict.update(
					ClassesDict
				)
#/######################/#
# Import
#

#ImportModules
import ShareYourSystem as SYS

#/######################/#
# Define you hierarchic objects
#

#add
SYS.addSingPlural('Component','Components')

#Define a Moduler class
@SYS.ClasserClass()
class MultiplierClass(SYS.NetworkerClass):
								
	def default_init(self,
						_MultiplyingFirstFloat=0,
						_MultiplyingSecondFloat=0,
						_MultipliedTotalFloat=0,
						**_KwargVariablesDict
					):

		#Call the parent init method
		SYS.NetworkerClass.__init__(self,**_KwargVariablesDict)
			
		#Build the model		
		self['#map@set'](
			[
예제 #3
0
	def do_network(self):

		#debug
		'''
		self.debug(
				[
					'We network here',
					('self.',self,[
							'NetworkingTeamVariable',
							'NetworkingManagementVariable'
						])
				]
			)
		'''
		
		#/###################/#
		# Set the structure if not already
		#


		#Debug
		'''
		print('We setNetwork')
		print('')
		'''
		
		#map add the sing plurals
		map(
			lambda __ItemTuple:
			SYS.addSingPlural(
				*__ItemTuple
			),
			_SingPluralVariable
		)

		#Define a class
		class NetworkClass(NetworkerClass):pass
		NetworkClass.__name__=_Class.NameStr+'s'
		NetworkClass.ManagingValueClass=_Class

		#set
		setattr(
			_Class.Module,
			NetworkClass.__name__,
			NetworkClass
		)

		#dict
		ClassesDict=dict(
				map(
					lambda __ItemTuple:
					(__ItemTuple[1],NetworkClass),
					_SingPluralVariable
				)
			)

		#map
		if _Class.TeamingClassesDict==None:
			_Class.TeamingClassesDict=ClassesDict
		else:
			_Class.TeamingClassesDict.update(
				ClassesDict
			)























		#/##################/#
		# prepare the Net teams
		#

		#map
		self.NetworkedTeamKeyStrsList=map(
				lambda __NetworkingTeamOrManagementStr:
				NetworkOutPrefixStr+self.NetworkingDoStr+'_'+__NetworkingTeamOrManagementStr,
				(self.NetworkingTeamVariable if self.NetworkingTeamVariable!=None else [])+
				(self.NetworkingManagementVariable if self.NetworkingManagementVariable!=None else [])
			)

		#debug
		'''
		self.debug(
				[
					'We are going to make team the NetworkedTeamKeyStrsList',
					('self.',self,['NetworkedTeamKeyStrsList'])
				]
			)
		'''

		#map
		map(
				lambda __NetworkedTeamKeyStr:
				self.team(__NetworkedTeamKeyStr),
				self.NetworkedTeamKeyStrsList
			)

		#/##################/#
		# parent Down
		#

		#parentDown
		self.parentDown(
				self.NetworkingTeamVariable,
				self.NetworkingManagementVariable,
				**{
					'NetworkTargetStr':self.NetworkTagStr,
					'NetworkingDoStr':self.NetworkingDoStr
				}
			)
	def do_structure(self):

		#/###################/#
		# Check the level
		#

		#debug
		'''
		self.debug(
			[
				'We structure here',
				'self.StructureTopDeriveStructurerVariable==self is ',
				str(self.StructureTopDeriveStructurerVariable==self)
			]
		)
		'''

		#Check
		if self.StructureTopDeriveStructurerVariable==self:

			#debug
			'''
			self.debug(
				[
					'We are in the top structurer',
				]
			)
			'''
			
			#debug
			'''
			self.debug(
					[
						'We structure top here',
						('self.',self,[
								'StructuringTeamerCommandKeyVariable',
								'StructuringManagerCommandKeyVariable'
							])
					]
				)
			'''
			
			#/###################/#
			# Set the structure of singular team if not already
			#

			#Check
			if self.StructuredOnceBool==False:

				#Check
				if self.StructuringSingPluralVariable!=None:

					#debug
					'''
					self.debug(
						[
							'we structure for the first time here',
							('self.',self,['StructuringSingPluralVariable'])
						]
					)
					'''

					#map add the sing plurals
					map(
						lambda __ItemTuple:
						SYS.addSingPlural(
							*__ItemTuple
						),
						SYS.SetList(self.StructuringSingPluralVariable)
					)

					#Define a class
					class StructureClass(StructurerClass):pass
					StructureClass.__name__=self.NameStr+'s'
					StructureClass.ManagingValueClass=self.__class__

					#set
					setattr(
						self.Module,
						StructureClass.__name__,
						StructureClass
					)

					#dict
					ClassesDict=dict(
							map(
								lambda __ItemTuple:
								(__ItemTuple[1],StructureClass),
								_SingPluralVariable
							)
						)

					#Check
					if self.StructuringClassBool:

						#map
						if _Class.TeamingClassesDict==None:
							_Class.TeamingClassesDict=ClassesDict
						else:
							_Class.TeamingClassesDict.update(
								ClassesDict
							)

						#set 
						self.__class__.StructuringOnceBool=True

					else:

						#map
						if self.TeamingClassesDict==None:
							self.TeamingClassesDict=ClassesDict
						else:
							self.TeamingClassesDict.update(
								ClassesDict
							)


					#set
					self.StructuredOnceBool=True


			#Check
			if self.StructuringFlatBool:

				#/##################/#
				# prepare the struc teams
				#

				#map
				self.StructuredTeamKeyStrsList=map(
						lambda __StructuringTeamOrManagementStr:
						StructureOutPrefixStr+self.StructuringTagStr+'_'+__StructuringTeamOrManagementStr,
						(self.StructuringTeamerCommandKeyVariable if self.StructuringTeamerCommandKeyVariable!=None else [])+
						(self.StructuringManagerCommandKeyVariable if self.StructuringManagerCommandKeyVariable!=None else [])
					)

				#debug
				'''
				self.debug(
						[
							'We are going to make team the StructuredTeamKeyStrsList',
							('self.',self,['StructuredTeamKeyStrsList'])
						]
					)
				'''

				#map
				map(
						lambda __StructuredTeamKeyStr:
						self.team(__StructuredTeamKeyStr),
						self.StructuredTeamKeyStrsList
					)

			#/##################/#
			# we make the top parent and structure
			#

			#set
			self.StructureTopDeriveStructurerVariable=self
			self.parent()

			#/##################/#
			# command
			#

			#debug
			'''
			self.debug(
				[
					'Before command we set the arg'
				]
			)
			'''

			#set
			self.setCommandingKeyVariable()
			self.CommandTopDeriveCommanderRigidVariable=self
			self.setCommandingSetVariable()
			self.CommandingAfterWalkRigidBool=True
			self.CommandingGetRigidBool=False
			self.CommandingSetRigidBool=False
			self.CommandingSetAttrOrCallRigidBool=True


			#debug
			'''
			self.debug(
				[
					'we are going to command',
					('self.',self,[
						'CommandingKeyVariable',
						'CommandingSetVariable'
					])
				]
			)
			'''

			#command
			self.command()

			#debug
			'''
			self.debug(
				[
					'Ok we have commanded'
				]
			)
			'''

		else:

			#debug
			'''
			self.debug(
				[
					'We structure in a level here'
				]
			)
			'''

			pass
예제 #5
0
#<ImportSpecificModules>
import copy
from ShareYourSystem.Standards.Itemizers import Setter,Pather,Teamer
from ShareYourSystem.Standards.Interfacers import Printer
Manager=BaseModule
#</ImportSpecificModules>

#<DefineLocals>
ParentPreviousStr="^"
ParentGrandPreviousStr="^^"
ParentTopStr="Top"
ParentUpStr="?^"
ParentDownStr="?v"
ParentMutePrefixStr='!'
SYS.addSingPlural('Child','Children')
SYS.addSingPlural('GrandChild','GrandChildren')
ListDict=SYS.ListDict
#</DefineLocals>

#<DefineClass>
@DecorationClass(
	**{
	'ClassingSwitchMethodStrsList':[
		'parent'
	]
}
)
class ParenterClass(BaseClass):

	def default_init(self,
	def do_structure(self):

		#/###################/#
		# Check the level
		#

		#debug
		self.debug(
			[
				'We structure here',
				'self.StructureTopDeriveStructurerVariable==self is ',
				str(self.StructureTopDeriveStructurerVariable==self)
			]
		)

		#Check
		if self.StructureTopDeriveStructurerVariable==self:

			#debug
			self.debug(
				[
					'Watch at the circular condition',
					('self.',self,['StructuringCircularBool'])
				]
			)

			#Check
			if self.StructuringCircularBool==False:

				#debug
				'''
				self.debug(
						[
							'We structure top here',
							('self.',self,[
									'StructuringTeamVariable',
									'StructuringManagementVariable'
								])
						]
					)
				'''
				
				#/###################/#
				# Set the structure of singular team if not already
				#

				#Check
				if self.StructuredOnceBool==False:

					#Check
					if self.StructuringSingPluralVariable!=None:

						#debug
						self.debug(
							[
								'we structure for the first time here',
								('self.',self,['StructuringSingPluralVariable'])
							]
						)
						
						#map add the sing plurals
						map(
							lambda __ItemTuple:
							SYS.addSingPlural(
								*__ItemTuple
							),
							SYS.SetList(self.StructuringSingPluralVariable)
						)

						#Define a class
						class StructureClass(StructurerClass):pass
						StructureClass.__name__=self.NameStr+'s'
						StructureClass.ManagingValueClass=self.__class__

						#set
						setattr(
							self.Module,
							StructureClass.__name__,
							StructureClass
						)

						#dict
						ClassesDict=dict(
								map(
									lambda __ItemTuple:
									(__ItemTuple[1],StructureClass),
									_SingPluralVariable
								)
							)

						#Check
						if self.StructuringClassBool:

							#map
							if _Class.TeamingClassesDict==None:
								_Class.TeamingClassesDict=ClassesDict
							else:
								_Class.TeamingClassesDict.update(
									ClassesDict
								)

							#set 
							self.__class__.StructuringOnceBool=True

						else:

							#map
							if self.TeamingClassesDict==None:
								self.TeamingClassesDict=ClassesDict
							else:
								self.TeamingClassesDict.update(
									ClassesDict
								)


						#set
						self.StructuredOnceBool=True

				#/##################/#
				# prepare the struc teams
				#

				#map
				self.StructuredTeamKeyStrsList=map(
						lambda __StructuringTeamOrManagementStr:
						StructureOutPrefixStr+self.StructuringDoStr+'_'+__StructuringTeamOrManagementStr,
						(self.StructuringTeamVariable if self.StructuringTeamVariable!=None else [])+
						(self.StructuringManagementVariable if self.StructuringManagementVariable!=None else [])
					)

				#debug
				'''
				self.debug(
						[
							'We are going to make team the StructuredTeamKeyStrsList',
							('self.',self,['StructuredTeamKeyStrsList'])
						]
					)
				'''

				#map
				map(
						lambda __StructuredTeamKeyStr:
						self.team(__StructuredTeamKeyStr),
						self.StructuredTeamKeyStrsList
					)

				#/##################/#
				# parent Down
				#

				#parentDown
				self.parentDown(
						self.StructuringTeamVariable,
						self.StructuringManagementVariable,
						'structure',
						**{
							'StructureTargetStr':self.StructureTagStr,
							'StructureTopDeriveStructurerVariable':self,
							'StructuringDoStr':self.StructuringDoStr,
							'StructuringCircularBool':True	
						}
					)
			else:

				#reset
				self.StructuringCircularBool=True


		else:

			#debug
			self.debug(
				[
					'We structure in a level here'
				]
			)