<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def linkify_es_by_s(self, services):
 """Add each escalation object into service.escalation attribute :param services: service list, used to look for a specific service :type services: alignak.objects.service.Services :return: None """

        for escalation in self:
            # If no host, no hope of having a service
            if not hasattr(escalation, 'host_name'):
                continue

            es_hname, sdesc = escalation.host_name, escalation.service_description
            if not es_hname.strip() or not sdesc.strip():
                continue

            for hname in strip_and_uniq(es_hname.split(',')):
                if sdesc.strip() == '*':
                    slist = services.find_srvs_by_hostname(hname)
                    if slist is not None:
                        slist = [services[serv] for serv in slist]
                        for serv in slist:
                            serv.escalations.append(escalation.uuid)
                else:
                    for sname in strip_and_uniq(sdesc.split(',')):
                        serv = services.find_srv_by_name_and_hostname(hname, sname)
                        if serv is not None:
                            serv.escalations.append(escalation.uuid)