当前位置: 首页>>代码示例>>Python>>正文


Python util.strip_and_uniq函数代码示例

本文整理汇总了Python中shinken.util.strip_and_uniq函数的典型用法代码示例。如果您正苦于以下问题:Python strip_and_uniq函数的具体用法?Python strip_and_uniq怎么用?Python strip_and_uniq使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了strip_and_uniq函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: linkify_es_by_s

 def linkify_es_by_s(self, services):
     for es in self:
         # If no host, no hope of having a service
         if not (hasattr(es, 'host_name') and hasattr(es, 'service_description')):
             continue
         es_hname, sdesc = es.host_name, es.service_description
         if '' in (es_hname.strip(), sdesc.strip()):
             continue
         for hname in strip_and_uniq(es_hname.split(',')):
             for sname in strip_and_uniq(sdesc.split(',')):
                 s = services.find_srv_by_name_and_hostname(hname, sname)
                 if s is not None:
                     #print "Linking service", s.get_name(), 'with me', es.get_name()
                     s.escalations.append(es)
开发者ID:David-,项目名称:shinken,代码行数:14,代码来源:escalation.py

示例2: find_several

def find_several(lst, elt, prop, key):
    print 'Find several in', lst, 'for element', elt, 'and property', prop
    value = elt.get(prop, None)
    if value is None:
        return []

    values = value.split(',')
    values = strip_and_uniq(values)
    print 'Our values are', values

    res = []
    # Now try to match what it got
    for dbi in lst:
        print 'Try to look at', dbi, 'for property', key
        v = dbi.get(key, None)
        if v is None:
            continue
        v = v.strip()
        try:
            print 'MAtch with db', v
        except:
            pass
        if v  in values:
            res.append(dbi)
    print "Return find_several::", res
    return res
开发者ID:achamo,项目名称:shinken,代码行数:26,代码来源:local_helper.py

示例3: explode_contact_groups_into_contacts

    def explode_contact_groups_into_contacts(self, contactgroups):
        for i in self:
            if hasattr(i, 'contact_groups'):
                # in tempaltes we need to take care, that contact_groups
                # could still have a leading '+', if we don't remove them now
                # we will not find them in the given contactgroups anymore
                cg = i.contact_groups
                if len(cg) >= 1 and cg[0] == '+':
                    cg = cg[1:]

                cgnames = cg.split(',')
                cgnames = strip_and_uniq(cgnames)
                for cgname in cgnames:
                    cg = contactgroups.find_by_name(cgname)
                    if cg is None:
                        # XXX: Why don't i receive this err when defining contact_groups in a template
                        err = "The contact group '%s' defined on the %s '%s' do not exist" % (cgname, i.__class__.my_type, i.get_name())
                        i.configuration_errors.append(err)
                        continue
                    cnames = contactgroups.get_members_by_name(cgname)
                    # We add contacts into our contacts
                    if cnames != []:
                        if hasattr(i, 'contacts'):
                            i.contacts += ',' + cnames
                        else:
                            i.contacts = cnames
开发者ID:cyrilleJ,项目名称:shinken,代码行数:26,代码来源:item.py

示例4: linkify_es_by_h

 def linkify_es_by_h(self, hosts):
     for es in self:
         # If no host, no hope of having a service
         if (not hasattr(es, 'host_name') or es.host_name.strip() == ''
                 or (hasattr(es, 'service_description') and es.service_description.strip() != '')):
             continue
         # I must be NOT a escalation on for service
         for hname in strip_and_uniq(es.host_name.split(',')):
             h = hosts.find_by_name(hname)
             if h is not None:
                 #print "Linking host", h.get_name(), 'with me', es.get_name()
                 h.escalations.append(es)
开发者ID:G2fx,项目名称:shinken,代码行数:12,代码来源:escalation.py

示例5: linkify_with_notificationways

 def linkify_with_notificationways(self, notificationways):
     for i in self:
         if not hasattr(i, 'notificationways'): continue
         new_notificationways = []
         for nw_name in strip_and_uniq(i.notificationways.split(',')):
             nw = notificationways.find_by_name(nw_name)
             if nw is not None:
                 new_notificationways.append(nw)
             else: #TODO: What?
                 pass
         #Get the list, but first make elements uniq
         i.notificationways = list(set(new_notificationways))
开发者ID:bs-github,项目名称:shinken,代码行数:12,代码来源:contact.py

示例6: linkify_with_resultmodulations

 def linkify_with_resultmodulations(self, resultmodulations):
     for i in self:
         if hasattr(i, 'resultmodulations'):
             resultmodulations_tab = i.resultmodulations.split(',')
             resultmodulations_tab = strip_and_uniq(resultmodulations_tab)
             new_resultmodulations = []
             for rm_name in resultmodulations_tab:
                 rm = resultmodulations.find_by_name(rm_name)
                 if rm is not None:
                     new_resultmodulations.append(rm)
                 else: # TODO WHAT?
                     pass
             i.resultmodulations = new_resultmodulations
开发者ID:wAmpIre,项目名称:shinken,代码行数:13,代码来源:item.py

示例7: linkify_with_escalations

 def linkify_with_escalations(self, escalations):
     for i in self:
         if hasattr(i, 'escalations'):
             #print i.get_name(), 'going to link escalations', i.escalations
             escalations_tab = i.escalations.split(',')
             escalations_tab = strip_and_uniq(escalations_tab)
             new_escalations = []
             for es_name in escalations_tab:
                 es = escalations.find_by_name(es_name)
                 if es is not None:
                     new_escalations.append(es)
                 else: #TODO what?
                     pass
             i.escalations = new_escalations
开发者ID:zoranzaric,项目名称:shinken,代码行数:14,代码来源:item.py

示例8: linkify_with_escalations

 def linkify_with_escalations(self, escalations):
     for i in self:
         if hasattr(i, 'escalations'):
             escalations_tab = i.escalations.split(',')
             escalations_tab = strip_and_uniq(escalations_tab)
             new_escalations = []
             for es_name in [e for e in escalations_tab if e != '']:
                 es = escalations.find_by_name(es_name)
                 if es is not None:
                     new_escalations.append(es)
                 else:  # Escalation not find, not good!
                     err = "the escalation '%s' defined for '%s' is unknown" % (es_name, i.get_name())
                     i.configuration_errors.append(err)
             i.escalations = new_escalations
开发者ID:andrewmcgilvray,项目名称:shinken,代码行数:14,代码来源:item.py

示例9: linkify_command_list_with_commands

 def linkify_command_list_with_commands(self, commands, prop):
     for i in self:
         if hasattr(i, prop):
             coms = getattr(i, prop).split(',')
             coms = strip_and_uniq(coms)
             com_list = []
             for com in coms:
                 if com != '':
                     cmdCall = self.create_commandcall(i, commands, com)
                     # TODO: catch None?
                     com_list.append(cmdCall)
                 else:  # TODO: catch?
                     pass
             setattr(i, prop, com_list)
开发者ID:andrewmcgilvray,项目名称:shinken,代码行数:14,代码来源:item.py

示例10: linkify_with_notificationways

 def linkify_with_notificationways(self, notificationways):
     for i in self:
         if not hasattr(i, 'notificationways'):
             continue
         new_notificationways = []
         for nw_name in strip_and_uniq(i.notificationways.split(',')):
             nw = notificationways.find_by_name(nw_name)
             if nw is not None:
                 new_notificationways.append(nw)
             else:
                 err = "The 'notificationways' of the %s '%s' named '%s' is unknown!" % (i.__class__.my_type, i.get_name(), nw_name)
                 i.configuration_errors.append(err)
         # Get the list, but first make elements uniq
         i.notificationways = list(set(new_notificationways))
开发者ID:andrewmcgilvray,项目名称:shinken,代码行数:14,代码来源:contact.py

示例11: linkify_with_business_impact_modulations

 def linkify_with_business_impact_modulations(self, business_impact_modulations):
     for i in self:
         if hasattr(i, 'business_impact_modulations'):
             business_impact_modulations_tab = i.business_impact_modulations.split(',')
             business_impact_modulations_tab = strip_and_uniq(business_impact_modulations_tab)
             new_business_impact_modulations = []
             for rm_name in business_impact_modulations_tab:
                 rm = business_impact_modulations.find_by_name(rm_name)
                 if rm is not None:
                     new_business_impact_modulations.append(rm)
                 else:
                     err = "the business impact modulation '%s' defined on the %s '%s' do not exist" % (rm_name, i.__class__.my_type, i.get_name())
                     i.configuration_errors.append(err)
                     continue
             i.business_impact_modulations = new_business_impact_modulations
开发者ID:andrewmcgilvray,项目名称:shinken,代码行数:15,代码来源:item.py

示例12: linkify_with_resultmodulations

 def linkify_with_resultmodulations(self, resultmodulations):
     for i in self:
         if hasattr(i, 'resultmodulations'):
             resultmodulations_tab = i.resultmodulations.split(',')
             resultmodulations_tab = strip_and_uniq(resultmodulations_tab)
             new_resultmodulations = []
             for rm_name in resultmodulations_tab:
                 rm = resultmodulations.find_by_name(rm_name)
                 if rm is not None:
                     new_resultmodulations.append(rm)
                 else:
                     err = "the result modulation '%s' defined on the %s '%s' do not exist" % (rm_name, i.__class__.my_type, i.get_name())
                     i.configuration_warnings.append(err)
                     continue
             i.resultmodulations = new_resultmodulations
开发者ID:andrewmcgilvray,项目名称:shinken,代码行数:15,代码来源:item.py

示例13: hg_name_get_groupnames

def hg_name_get_groupnames(all_res, hosts, hostgroups, res=None):
    if res is None:
        res = {}

    for tok in all_res:
        if isinstance(tok, tuple):
            hg_name_get_groupnames(tok[0], hosts, hostgroups, res)
            hg_name_get_groupnames(tok[1], hosts, hostgroups, res)
            continue
        if isinstance(tok, list):
            hg_name_get_groupnames(tok, hosts, hostgroups, res)
            continue
        
        save_tok = tok
        if tok in HostGroup_Name_Parse_Ctx.specials_hostgroup_name_chars + ( '-', ):
            if tok != '*':
                continue
            tok = HostGroup_Name_Parse_Ctx.catch_all_name
        
        if tok in res: # we already got it, good.
            continue
        
        if save_tok == '*':
            elts = get_all_host_names_set(hosts)
        else:
            # we got a group name :
            members = hostgroups.get_members_by_name(tok)
            # TODO: check why:
            # sometimes we get a list, sometimes we get a string of hosts name which are ',' separated..
            if isinstance(members, list):
                elts = members
            else:
                elts = members.split(',')
            elts = strip_and_uniq(elts)
            
            # the "host_name" members of a hostgroup can also be '*' :
            if '*' in elts:
                tok = HostGroup_Name_Parse_Ctx.catch_all_name 
                if tok in res:
                    elts = res[tok]
                else: 
                    elts = get_all_host_names_set(hosts)    
                # the original tok must still be set:
                res[save_tok] = elts 

        res[tok] = set(elts)

    return res
开发者ID:wAmpIre,项目名称:shinken,代码行数:48,代码来源:item.py

示例14: find_object

    def find_object(self, pattern):
        obj = None
        error = None
        pattern = pattern.strip()

        if pattern == "*":
            obj = [
                h.host_name
                for h in self.all_elements.items.values()
                if getattr(h, "host_name", "") != "" and not h.is_tpl()
            ]
            return obj, error

        # Ok a more classic way

        # print "GRPS", self.grps

        if self.ctx == "hostgroups":
            # Ok try to find this hostgroup
            hg = self.grps.find_by_name(pattern)
            # Maybe it's an known one?
            if not hg:
                error = "Error : cannot find the %s of the expression '%s'" % (self.ctx, pattern)
                return hg, error
            # Ok the group is found, get the elements!
            elts = hg.get_hosts().split(",")
            elts = strip_and_uniq(elts)

            # Maybe the hostgroup memebrs is '*', if so expand with all hosts
            if "*" in elts:
                elts.extend(
                    [
                        h.host_name
                        for h in self.all_elements.items.values()
                        if getattr(h, "host_name", "") != "" and not h.is_tpl()
                    ]
                )
                # And remove this strange hostname too :)
                elts.remove("*")
            return elts, error

        else:  # templates
            obj = self.grps.find_hosts_that_use_template(pattern)

        return obj, error
开发者ID:zllak,项目名称:shinken,代码行数:45,代码来源:complexexpression.py

示例15: linkify_with_contacts

 def linkify_with_contacts(self, contacts):
     for i in self:
         if hasattr(i, 'contacts'):
             contacts_tab = i.contacts.split(',')
             contacts_tab = strip_and_uniq(contacts_tab)
             new_contacts = []
             for c_name in contacts_tab:
                 if c_name != '':
                     c = contacts.find_by_name(c_name)
                     if c is not None:
                         new_contacts.append(c)
                     # Else: Add in the errors tab.
                     # will be raised at is_correct
                     else:
                         err = "the contact '%s' defined for '%s' is unknown" % (c_name, i.get_name())
                         i.configuration_errors.append(err)
             # Get the list, but first make elements uniq
             i.contacts = list(set(new_contacts))
开发者ID:andrewmcgilvray,项目名称:shinken,代码行数:18,代码来源:item.py


注:本文中的shinken.util.strip_and_uniq函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。