def acquire(self, resources, prop_name):
        """ Starting with self, walk until you find prop or None """

        # Instance
        custom_prop = getattr(self.props, prop_name, None)
        if custom_prop:
            return custom_prop

        # Parents...can't use acquire as have to keep going on acquireds
        for parent in self.parents(resources):
            acquireds = parent.props.acquireds
            if acquireds:
                # First try in the per-type acquireds
                rtype_acquireds = acquireds.get(self.rtype)
                if rtype_acquireds:
                    prop_acquired = rtype_acquireds.get(prop_name)
                    if prop_acquired:
                        return prop_acquired

                # Next in the "all" section of acquireds
                all_acquireds = acquireds.get('all')
                if all_acquireds:
                    prop_acquired = all_acquireds.get(prop_name)
                    if prop_acquired:
                        return prop_acquired

        return
def acquire ( self , resources , prop_name ) : custom_prop = getattr ( self . props , prop_name , None ) if custom_prop : return custom_prop for parent in self . parents ( resources ) : acquireds = parent . props . acquireds if acquireds : rtype_acquireds = acquireds . get ( self . rtype ) if rtype_acquireds : prop_acquired = rtype_acquireds . get ( prop_name ) if prop_acquired : return prop_acquired all_acquireds = acquireds . get ( 'all' ) if all_acquireds : prop_acquired = all_acquireds . get ( prop_name ) if prop_acquired : return prop_acquired return
Starting with self, walk until you find prop or None