Recruiter

Doc


A Recruiter


View the Recruiter notebook on [NbViewer](http://nbviewer.ipython.org/url/shareyoursystem.ouvaton.org/Recruiter.ipynb)

Code



# -*- coding: utf-8 -*-
"""


<DefineSource>
@Date : Fri Nov 14 13:20:38 2014 \n
@Author : Erwan Ledoux \n\n
</DefineSource>


A Recruiter

"""

#<DefineAugmentation>
import ShareYourSystem as SYS
BaseModuleStr="ShareYourSystem.Standards.Walkers.Visiter"
DecorationModuleStr="ShareYourSystem.Standards.Classors.Classer"
SYS.setSubModule(globals())
#</DefineAugmentation>

#<ImportSpecificModules>

from ShareYourSystem.Standards.Noders import Noder
#</ImportSpecificModules>

#<DefineClass>
@DecorationClass()
class RecruiterClass(BaseClass):

    #Definition
    RepresentingKeyStrsList=[
                                    'RecruitingConcludeConditionVariable',
                                    'RecruitedFlatCumulateVariablesList'
                                ]

    def default_init(self,
                _RecruitingConcludeConditionVariable=None,
                _RecruitedFlatCumulateVariablesList=None,
                **_KwargVariablesDict
            ):

        #Call the parent __init__ method
        BaseClass.__init__(self,**_KwargVariablesDict)

    def do_recruit(self):

        #Check
        if type(self.VisitingBeforeUpdateList)!=list:
            self.VisitingBeforeUpdateList=[]

        #add
        self.VisitingBeforeUpdateList+=[
            (
                'PickingKeyVariablesList',['/']
            ),
            (
                'ConcludingConditionVariable',
                self.RecruitingConcludeConditionVariable
            ),
            ('cumulate',{'LiargVariablesList':[]})
        ]

        #visit
        self.visit()

        #flat
        self.RecruitedFlatCumulateVariablesList=SYS.filterNone(SYS.flat(
            self.CumulatedVariablesList
            )
        )
#</DefineClass>

View the Recruiter sources on Github


In [2]:
#ImportModules
import ShareYourSystem as SYS
from ShareYourSystem.Standards.Walkers import Cumulater,Recruiter
import operator

#Definition a Recruiter instance that is grouped
MyRecruiter=Recruiter.RecruiterClass().update(
        [
            (
                '<Visitome>FirstChildRecruiter',
                Recruiter.RecruiterClass().update(
                    [
                        (
                            '<Collectome>GrandChildCumulater',
                            Cumulater.CumulaterClass()
                        )
                    ]
                )
            ),
            (
                '<Visitome>SecondChildRecruiter',
                Recruiter.RecruiterClass()
            ),
            (
                '<Visitome>ThirdChildRecruiter',
                Recruiter.RecruiterClass()
            )
        ]
    )

#Walk inside the group in order to parent
MyRecruiter.recruit(
    [
        (
            'NodeIndexInt',
            lambda _TestIndexInt,_AttestIndexInt:operator.lt(_TestIndexInt,_AttestIndexInt)
            if _TestIndexInt!=None else False,
            2
        )
    ],
    **{'VisitingCollectionStrsList':['Visitome','Collectome']}
)
    
#Definition the AttestedStr
SYS._attest(
    [
        'MyRecruiter is '+SYS._str(
        MyRecruiter,
        **{
            'RepresentingBaseKeyStrsListBool':False,
            'RepresentingAlineaIsBool':False
        }
        )
    ]
) 

#Print



*****Start of the Attest *****

MyRecruiter is < (RecruiterClass), 4555498384>
   /{ 
   /  '<New><Instance>CollectomeCollectionOrderedDict' : 
   /   /{ 
   /   /}
   /  '<New><Instance>IdInt' : 4555498384
   /  '<New><Instance>NodeCollectionStr' : Globals
   /  '<New><Instance>NodeIndexInt' : -1
   /  '<New><Instance>NodeKeyStr' : TopRecruiter
   /  '<New><Instance>NodePointDeriveNoder' : None
   /  '<New><Instance>NodePointOrderedDict' : None
   /  '<New><Instance>VisitomeCollectionOrderedDict' : 
   /   /{ 
   /   /  'FirstChildRecruiter' : < (RecruiterClass), 4556356176>
   /   /   /{ 
   /   /   /  '<New><Instance>CollectomeCollectionOrderedDict' : 
   /   /   /   /{ 
   /   /   /   /  'GrandChildCumulater' : < (CumulaterClass), 4557708048>
   /   /   /   /   /{ 
   /   /   /   /   /  '<New><Instance>CollectomeCollectionOrderedDict' : 
   /   /   /   /   /   /{ 
   /   /   /   /   /   /}
   /   /   /   /   /  '<New><Instance>IdInt' : 4557708048
   /   /   /   /   /  '<New><Instance>NodeCollectionStr' : Collectome
   /   /   /   /   /  '<New><Instance>NodeIndexInt' : 0
   /   /   /   /   /  '<New><Instance>NodeKeyStr' : GrandChildCumulater
   /   /   /   /   /  '<New><Instance>NodePointDeriveNoder' : {...}< (RecruiterClass), 4556356176>
   /   /   /   /   /  '<New><Instance>NodePointOrderedDict' : {...}< (OrderedDict), 4537423384>
   /   /   /   /   /  '<New><Instance>VisitomeCollectionOrderedDict' : 
   /   /   /   /   /   /{ 
   /   /   /   /   /   /}
   /   /   /   /   /  '<Spe><Instance>CumulatedVariablesList' : []
   /   /   /   /   /}
   /   /   /   /}
   /   /   /  '<New><Instance>IdInt' : 4556356176
   /   /   /  '<New><Instance>NodeCollectionStr' : Visitome
   /   /   /  '<New><Instance>NodeIndexInt' : 0
   /   /   /  '<New><Instance>NodeKeyStr' : FirstChildRecruiter
   /   /   /  '<New><Instance>NodePointDeriveNoder' : {...}< (RecruiterClass), 4555498384>
   /   /   /  '<New><Instance>NodePointOrderedDict' : {...}< (OrderedDict), 4537424272>
   /   /   /  '<New><Instance>VisitomeCollectionOrderedDict' : 
   /   /   /   /{ 
   /   /   /   /}
   /   /   /  '<Spe><Class>RecruitedFlatCumulateVariablesList' : None
   /   /   /  '<Spe><Class>RecruitingConcludeConditionVariable' : None
   /   /   /}
   /   /  'SecondChildRecruiter' : < (RecruiterClass), 4556968016>
   /   /   /{ 
   /   /   /  '<New><Instance>CollectomeCollectionOrderedDict' : 
   /   /   /   /{ 
   /   /   /   /}
   /   /   /  '<New><Instance>IdInt' : 4556968016
   /   /   /  '<New><Instance>NodeCollectionStr' : Visitome
   /   /   /  '<New><Instance>NodeIndexInt' : 1
   /   /   /  '<New><Instance>NodeKeyStr' : SecondChildRecruiter
   /   /   /  '<New><Instance>NodePointDeriveNoder' : {...}< (RecruiterClass), 4555498384>
   /   /   /  '<New><Instance>NodePointOrderedDict' : {...}< (OrderedDict), 4537424272>
   /   /   /  '<New><Instance>VisitomeCollectionOrderedDict' : 
   /   /   /   /{ 
   /   /   /   /}
   /   /   /  '<Spe><Class>RecruitedFlatCumulateVariablesList' : None
   /   /   /  '<Spe><Class>RecruitingConcludeConditionVariable' : None
   /   /   /}
   /   /  'ThirdChildRecruiter' : < (RecruiterClass), 4556968208>
   /   /   /{ 
   /   /   /  '<New><Instance>CollectomeCollectionOrderedDict' : 
   /   /   /   /{ 
   /   /   /   /}
   /   /   /  '<New><Instance>IdInt' : 4556968208
   /   /   /  '<New><Instance>NodeCollectionStr' : Visitome
   /   /   /  '<New><Instance>NodeIndexInt' : 2
   /   /   /  '<New><Instance>NodeKeyStr' : ThirdChildRecruiter
   /   /   /  '<New><Instance>NodePointDeriveNoder' : {...}< (RecruiterClass), 4555498384>
   /   /   /  '<New><Instance>NodePointOrderedDict' : {...}< (OrderedDict), 4537424272>
   /   /   /  '<New><Instance>VisitomeCollectionOrderedDict' : 
   /   /   /   /{ 
   /   /   /   /}
   /   /   /  '<Spe><Class>RecruitedFlatCumulateVariablesList' : None
   /   /   /  '<Spe><Class>RecruitingConcludeConditionVariable' : None
   /   /   /}
   /   /}
   /  '<Spe><Instance>RecruitedFlatCumulateVariablesList' : 
   /   /[
   /   /  0 : {...}< (RecruiterClass), 4555498384>
   /   /  1 : {...}< (RecruiterClass), 4556356176>
   /   /  2 : {...}< (CumulaterClass), 4557708048>
   /   /  3 : {...}< (RecruiterClass), 4556968016>
   /   /]
   /  '<Spe><Instance>RecruitingConcludeConditionVariable' : 
   /   /[
   /   /  0 : 
   /   /   /(
   /   /   /  0 : NodeIndexInt
   /   /   /  1 : <function <lambda> at 0x10e8a5b90>
   /   /   /  2 : 2
   /   /   /)
   /   /]
   /}

*****End of the Attest *****